Skip to content

Commit

Permalink
feat: add dependency property Stretch for ImagePicker (#6)
Browse files Browse the repository at this point in the history
  • Loading branch information
sandre58 authored May 25, 2024
1 parent 785e54c commit fb254ee
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 2 deletions.
13 changes: 13 additions & 0 deletions src/MyNet.Wpf/Controls/ImagePicker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,19 @@ public DataTemplate? SelectedImageTemplate

#endregion

#region Stretch

public static readonly DependencyProperty StretchProperty
= DependencyProperty.Register(nameof(Stretch), typeof(Stretch), typeof(ImagePicker), new PropertyMetadata(Stretch.UniformToFill));

public Stretch Stretch
{
get => (Stretch)GetValue(StretchProperty);
set => SetValue(StretchProperty, value);
}

#endregion

protected virtual void OnSelectedImageChanged(ImageSource? oldValue, ImageSource? newValue) => RaiseEvent(new RoutedPropertyChangedEventArgs<ImageSource?>(oldValue, newValue, SelectedImageChangedEvent));

public override void OnApplyTemplate()
Expand Down
2 changes: 1 addition & 1 deletion src/MyNet.Wpf/Styles/MyNet.ImagePicker.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@
<Setter Property="SelectedImageTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="{Binding}" Stretch="UniformToFill" Visibility="{Binding UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static c:NullToVisibilityConverter.CollapsedIfNull}}" />
<Image Source="{Binding}" Stretch="{Binding Stretch, RelativeSource={RelativeSource AncestorType={x:Type ctrl:ImagePicker}}}" Visibility="{Binding UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static c:NullToVisibilityConverter.CollapsedIfNull}}" />
</DataTemplate>
</Setter.Value>
</Setter>
Expand Down
2 changes: 1 addition & 1 deletion src/MyNet.Wpf/Themes/MyNet.Styles.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -14661,7 +14661,7 @@ Styles\MyNet.VirtualizingWrapPanel.xaml
<Setter Property="SelectedImageTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="{Binding}" Stretch="UniformToFill" Visibility="{Binding UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static c:NullToVisibilityConverter.CollapsedIfNull}}" />
<Image Source="{Binding}" Stretch="{Binding Stretch, RelativeSource={RelativeSource AncestorType={x:Type ctrl:ImagePicker}}}" Visibility="{Binding UpdateSourceTrigger=PropertyChanged, RelativeSource={RelativeSource TemplatedParent}, Converter={x:Static c:NullToVisibilityConverter.CollapsedIfNull}}" />
</DataTemplate>
</Setter.Value>
</Setter>
Expand Down

0 comments on commit fb254ee

Please sign in to comment.