<!-- 边框样式 -->
<ComboBox x:Name="BorderTypeComboBox"
Margin="18,0,0,0"
Width="68" Height="25"
Style="{StaticResource QujiaoComboBoxStyle}"
ItemsSource="{Binding BorderTypes}"
SelectedIndex="{Binding SelectedIndexBorderType}">
<!-- 下拉选项宽度设置 -->
<ComboBox.Resources>
<Style TargetType="Popup">
<Setter Property="Width" Value="1000"/>
<Setter Property="MinWidth" Value="154"/>
</Style>
<Style TargetType="ComboBoxItem">
<Setter Property="Width" Value="154"/>
<Setter Property="Height" Value="35"/>
</Style>
</ComboBox.Resources>
<ComboBox.ItemTemplate>
<DataTemplate>
<Grid>
<Image x:Name="img" Source="{Binding Img}" Margin="5,0,5,0" Width="145" Height="35" HorizontalAlignment="Center" VerticalAlignment="Stretch"/>
</Grid>
<DataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Source" TargetName="img" Value="{Binding SelectedImg}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Source" TargetName="img" Value="{Binding Img}"/>
</Trigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=IsSelected}" Value="true">
<Setter Property="Source" TargetName="img" Value="{Binding SelectedImg}"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
其中
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=IsSelected}" Value="true">
<Setter Property="Source" TargetName="img" Value="{Binding SelectedImg}"/>
</DataTrigger>
这部分RelativeSource={RelativeSource Mode=TemplatedParent}是指要绑定当前目标的上一级内容
这里因为是在ComboBox.ItemTemplate的DataTemplate中设置的数据绑定,所以父级就是ComboBoxItem本身