I wanna know if it is possible to set a "Parameter Binding" in the Resource Dictionary file and set this specific binding in the UserControl or Window.
My XAML code looks like this:
<Style x:Key="ArrowImageButtonStyle" TargetType="Button">
<Setter Property="Height" Value="100" />
<Setter Property="Width" Value="100" />
</Style>
<Style x:Key="ArrowUpImageButtonStyle" BasedOn="{StaticResource ArrowImageButtonStyle}" TargetType="Button">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Width="90" Height="90" Source="pack://application:,,,/Resources/img_arrowUp.png" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ArrowRightImageButtonStyle" BasedOn="{StaticResource ArrowImageButtonStyle}" TargetType="Button">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Width="90" Height="90" Source="pack://application:,,,/Resources/img_arrowRight.png" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
What I want to achieve are two things.
Firstly, It would be nice to set the Width and Height of the following buttons for arrow up, left, ... on one place, so something like this:
<Style x:Key="ArrowImageButtonStyle" TargetType="Button">
<Setter Property="Height" Value="100" />
<Setter Property="Width" Value="100" />
<Setter Property="DataTemplate.Width" Value="90" />
<Setter Property="DataTemplate.Height" Value="90" />
</Style>
<Style x:Key="ArrowUpImageButtonStyle" BasedOn="{StaticResource ArrowImageButtonStyle}" TargetType="Button">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Width="{Binding}" Height="{Binding}" Source="pack://application:,,,/Resources/img_arrowUp.png" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ArrowRightImageButtonStyle" BasedOn="{StaticResource ArrowImageButtonStyle}" TargetType="Button">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Width="{Binding}" Height="{Binding}" Source="pack://application:,,,/Resources/img_arrowRight.png" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Secondly, can I also set the image-source as parameter from the UserControl / Window? Here's what I mean:
<!-- Resource -->
<Style x:Key="ArrowImageButtonStyle" TargetType="Button">
<Setter Property="Height" Value="100" />
<Setter Property="Width" Value="100" />
<Setter Property="DataTemplate.Width" Value="90" />
<Setter Property="DataTemplate.Height" Value="90" />
</Style>
<Style x:Key="ArrowUpImageButtonStyle" BasedOn="{StaticResource ArrowImageButtonStyle}" TargetType="Button">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Width="{Binding}" Height="{Binding}" Source="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ArrowRightImageButtonStyle" BasedOn="{StaticResource ArrowImageButtonStyle}" TargetType="Button">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Width="{Binding}" Height="{Binding}" Source="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- UserControl / Window -->
<Button Style="{StaticResource ArrowUpImageButtonStyle, Source="pack://application:,,,/Resources/img_arrowUp.png"}" />