我最近设计了一些控件并想要使用它们,但我发现有一个问题。通常,复选框有四个图像:
- 正常状态
- 鼠标悬停时
- 选中时
- 选中并且鼠标悬停时
但第四种状态不存在,我向您展示了我目前的做法:
<ControlTemplate x:Key="ModernCheckBox" TargetType="{x:Type CheckBox}">
<StackPanel Orientation="Horizontal">
<Image x:Name="_Image" Source="CheckBox_Normal.png" Margin="0,0,4,0"/>
<ContentControl Content="CheckBox"/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="CheckBox.IsMouseOver" Value="True">
<Setter TargetName="_Image" Property="Source" Value="CheckBox_NormalHover.png"/>
</Trigger>
<Trigger Property="CheckBox.IsChecked" Value="True">
<Setter TargetName="_Image" Property="Source" Value="CheckBox_Checked.png"/>
</Trigger>
<Trigger Property="CheckBox.??" Value="True">
<Setter TargetName="_Image" Property="Source" Value="CheckBox_CheckedHover.png"/>
</Trigger>
</ControlTemplate.Triggers>
我的模板目前运作良好,但是正如您所看到的,我找不到最后一个状态的方法,因此在这里寻求帮助!
谢谢,
Jake