我最近制作了一些控制设计并希望使用它们,但我发现存在问题.通常,Checkbox有4张图片:
但是4.状态不存在,我告诉你我到目前为止做了什么:
<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>
Run Code Online (Sandbox Code Playgroud)
我的模板目前运作良好,但是你可以看到我找不到最后一个状态,所以我在这里寻求帮助!
亲切的问候,
可靠的人
您需要使用MultiTrigger才能对您的状态#4做出反应
例如
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
<Condition Property="IsChecked" Value="True"/>
</MultiTrigger.Conditions>
<Setter TargetName="_Image" Property="Source" Value="CheckBox_CheckedHover.png"/>
</MultiTrigger>
Run Code Online (Sandbox Code Playgroud)