这段代码,IsPressed被IsFocused覆盖了。当不设置IsFocused的时候,按按钮就没问题,当设置了IsFocused的时候,IsPressed就没法触发了。请问这个该如何解决?<Trigger SourceName="btnHead" Property="IsPressed" Value="True">
<Setter TargetName="itemBackground" Property="Background" Value="#92C0E0"/>
<Setter TargetName="itemBackground" Property="BorderBrush" Value="#92C0E0"/>
</Trigger>
<Trigger SourceName="btnHead" Property="IsFocused" Value="True">
<Setter TargetName="itemBackground" Property="Background" Value="#E6F2FA"/>
<Setter TargetName="itemBackground" Property="BorderBrush" Value="#B1D6F0"/>
</Trigger>
<Trigger SourceName="btnHead" Property="IsMouseOver" Value="True">
<Setter TargetName="itemBackground" Property="Background" Value="#CDE6F7"/>
<Setter TargetName="itemBackground" Property="BorderBrush" Value="#CDE6F7"/>
</Trigger>
<Setter TargetName="itemBackground" Property="Background" Value="#92C0E0"/>
<Setter TargetName="itemBackground" Property="BorderBrush" Value="#92C0E0"/>
</Trigger>
<Trigger SourceName="btnHead" Property="IsFocused" Value="True">
<Setter TargetName="itemBackground" Property="Background" Value="#E6F2FA"/>
<Setter TargetName="itemBackground" Property="BorderBrush" Value="#B1D6F0"/>
</Trigger>
<Trigger SourceName="btnHead" Property="IsMouseOver" Value="True">
<Setter TargetName="itemBackground" Property="Background" Value="#CDE6F7"/>
<Setter TargetName="itemBackground" Property="BorderBrush" Value="#CDE6F7"/>
</Trigger>
http://msdn.microsoft.com/zh-cn/library/vstudio/aa969768.aspx
<Grid>
<Rectangle x:Name="outRect" Fill="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Background }" Visibility="Visible">
</Rectangle>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Margin="{TemplateBinding Padding}" Text="{TemplateBinding Content}"
FontFamily="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=FontFamily }"
FontSize="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=FontSize }" />
<Path x:Name="BorderPath" Stroke="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=BorderBrush }" StrokeThickness="1" >
<Path.Data>
<PathGeometry>
<PathFigure StartPoint="0,29">
<PathFigure.Segments >
<LineSegment Point="0,0"/>
<LineSegment Point="82,0"/>
<LineSegment Point="82,29"/>
</PathFigure.Segments>
</PathFigure>
</PathGeometry>
</Path.Data>
</Path>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsPressed" Value="True">
<Setter Property="Button.Background" Value="#92C0E0"/>
<Setter Property="Button.BorderBrush" Value="#92C0E0"/>
</Trigger>
<Trigger Property="Button.IsFocused" Value="True">
<Setter Property="Button.Background" Value="#E6F2FA"/>
<Setter Property="Button.BorderBrush" Value="#B1D6F0"/>
</Trigger>
<Trigger Property="Button.IsMouseOver" Value="True">
<Setter Property="Button.Background" Value="#CDE6F7"/>
<Setter Property="Button.BorderBrush" Value="#CDE6F7"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
那可以用代码来设置下的,在键盘按下事件中注销掉获取焦点事件,设置颜色完之后在注册获取焦点事件