У меня есть приложение WPF Prism 4 MVVM. ViewItemControl используется в качестве элемента управления навигацией для изменения видов с использованием Prism Regions и Views.
<Style x:Key="ViewItemControlStyle" BasedOn="{StaticResource {x:Type Button}}" TargetType="{x:Type Controls:ViewItemControl}">
<Setter Property="MinWidth" Value="110" />
<Setter Property="Height" Value="60" />
<Setter Property="Background" Value="{StaticResource ButtonBackgroundBrush}" />
<Setter Property="Margin" Value="1" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:ViewItemControl}">
<ContentPresenter x:Name="PART_Content"
VerticalAlignment="Center" HorizontalAlignment="Center"
Style="{DynamicResource DefaultButtonText}" />
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
</Trigger>
<Trigger Property="IsPressed" Value="true">
</Trigger>
<Trigger Property="IsSelected" Value="true">
</Trigger>
<Trigger Property="IsEnabled" Value="False">
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Теперь я реализовал пользовательский элемент управления ImageButton с Normal, Hover и Selected Trigger для изменения источника изображения.
<ControlTemplate x:Key="ImageButtonTemplate" TargetType="{x:Type Controls:ImageButton}">
<Grid x:Name="Grid">
<Image Name="ButtonImage"
Source="{Binding NormalImage, RelativeSource={RelativeSource TemplatedParent}}"
Height="{Binding ImageSize, RelativeSource={RelativeSource TemplatedParent}}"
Width="{Binding ImageSize, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{TemplateBinding ToolTip}"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="ButtonImage" Property="Source" Value="{Binding HoverImage, RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="ButtonImage" Property="Source" Value="{Binding SelectedImage, RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="ButtonImage" Property="Source" Value="{Binding DisabledImage, RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Я хочу определить ViewItemControl, который будет использоваться в качестве навигации с элементом управления изображениями в нем. Я хочу связать Isselected Trigger обоих элементов управления, чтобы добиться как изменения источника изображения, так и изменения вида. Мне нужна помощь в преодолении этого поведения.