我有一个slider
我希望它的拇指根据其状态改变样式:鼠标悬停或点击。
我确实试过改变拇指的风格,但没有明显的理由它没有做任何事情。
所以这个矩形,IsMouseOver
工作正常,但正如我所说,IsFocused
什么都不做。
我的XAML:
<Style x:Key="SliderRectStyle" TargetType="{x:Type Rectangle}">
<Setter Property="Fill" Value="#FF5B5B5B"/>
<Setter Property="Stroke" Value="#FF5B5B5B"/>
<Setter Property="Opacity" Value="1"/>
<Setter Property="mouseHelper:MouseDownHelper.IsEnabled" Value="True"/>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Fill" Value="#FFF0A300"/>
<Setter Property="Stroke" Value="#FFF0A300"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="#FFD1A139"/>
<Setter Property="Stroke" Value="#FFD1A139"/>
</Trigger>
</Style.Triggers>
</Style>
答案 0 :(得分:1)
您需要将IsFocusable
的{{1}}属性设置为Rectangle
,并通过调用其true
方法来关注它,实际关注它:
Focus()
<Rectangle x:Name="rect" Style="{StaticResource SliderRectStyle}" Width="100" Height="100" Focusable="True"
PreviewMouseLeftButtonDown="rect_PreviewMouseLeftButtonDown" />