我有以下Checkbox.xaml
文件。我想Dropshadow
在鼠标悬停上应用两种不同的效果CheckBox
。所以我拿了两个MultiTriggers
。我想删除这些并使用to of elementMultiTriggers
将它们组合成单个触发器。因为由于我应用的第一个触发器,元素将始终具有正确的背景。DataBinding
Background
Border
Border
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="..\Colors\Colors.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<ControlTemplate x:Key="CheckBoxTemplate" TargetType="CheckBox" >
<BulletDecorator >
<BulletDecorator.Bullet>
<Border x:Name="Border"
Width="13"
Height="13"
CornerRadius="0"
Background="{StaticResource TextNormalBrush}"
BorderThickness="3"
BorderBrush="Black">
</Border>
</BulletDecorator.Bullet>
<ContentPresenter Margin="4,0,0,0"
VerticalAlignment="Center"
HorizontalAlignment="Left"
RecognizesAccessKey="True" />
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="Border" Property="Background" Value="{StaticResource AlternateLinearBrush}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"></Condition>
<Condition Property="IsChecked" Value="False"></Condition>
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter TargetName="Border" Property="Effect">
<Setter.Value>
<DropShadowEffect ShadowDepth="0" Direction="0" BlurRadius="15" Opacity="1" Color="{StaticResource TextNormalColor }">
</DropShadowEffect>
</Setter.Value>
</Setter>
</MultiTrigger.Setters>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"></Condition>
<Condition Property="IsChecked" Value="True"></Condition>
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter TargetName="Border" Property="Effect">
<Setter.Value>
<DropShadowEffect ShadowDepth="0" Direction="0" BlurRadius="15" Opacity="1" Color="{StaticResource AlternateColor }">
</DropShadowEffect>
</Setter.Value>
</Setter>
</MultiTrigger.Setters>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="CheckBoxStyle" TargetType="{x:Type CheckBox}">
<Setter Property="Template" Value="{StaticResource CheckBoxTemplate}" />
<Setter Property="Foreground" Value="{StaticResource TextNormalBrush}" />
<Setter Property="TextOptions.TextHintingMode" Value="Animated"/>
</Style>
</ResourceDictionary>