.net 重复按钮不会失去焦点,并始终保持高亮显示
我正在研究我的上下控制,它工作得很好,但今天我注意到控制中的重复按钮有一个奇怪的问题。一旦我点击+/-重复按钮,它们就会以蓝色边框突出显示(这很好),但问题是,即使我点击页面上的其他按钮或控件,它们也会保持突出显示 这是截图- 这是我正在使用的xaml-.net 重复按钮不会失去焦点,并始终保持高亮显示,.net,wpf,focus,repeatbutton,.net,Wpf,Focus,Repeatbutton,我正在研究我的上下控制,它工作得很好,但今天我注意到控制中的重复按钮有一个奇怪的问题。一旦我点击+/-重复按钮,它们就会以蓝色边框突出显示(这很好),但问题是,即使我点击页面上的其他按钮或控件,它们也会保持突出显示 这是截图- 这是我正在使用的xaml- <!-- RepeatButton styles --> <Style x:Key="RepeatButtonPathStyle" TargetType="Path"> <Sette
<!-- RepeatButton styles -->
<Style
x:Key="RepeatButtonPathStyle"
TargetType="Path">
<Setter
Property="Width"
Value="3" />
<Setter
Property="Height"
Value="3" />
<Setter
Property="MinWidth"
Value="3" />
<Setter
Property="MinHeight"
Value="3" />
<Setter
Property="HorizontalAlignment"
Value="Center" />
<Setter
Property="VerticalAlignment"
Value="Center" />
<Setter
Property="Stretch"
Value="None" />
<Setter
Property="StrokeThickness"
Value="1" />
<Setter
Property="Stroke"
Value="{Binding RelativeSource={RelativeSource AncestorType=RepeatButton},
Path=Foreground}" />
</Style>
<DataTemplate
x:Key="IncreaseGlyph">
<Path
Data="M0,1.5 H3 M1.5,0 V3"
Style="{StaticResource RepeatButtonPathStyle}" />
</DataTemplate>
<DataTemplate
x:Key="DecreaseGlyph">
<Path
Data="M0,1.5 H3"
Style="{StaticResource RepeatButtonPathStyle}" />
</DataTemplate>
及
有什么指示吗?我想你应该更换这个设定器:
<Setter Property="Stroke" Value="{Binding RelativeSource=
{RelativeSource AncestorType=RepeatButton},Path=Foreground}" />
而是使用触发器:
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Stroke"
Value="{Binding RelativeSource={RelativeSource AncestorType=RepeatButton},
Path=Foreground}" />
</Trigger>
</Style.Triggers>
这样,当您的触发条件为false(在这种情况下,鼠标不在)时,它会将笔划设置回默认值。我发现解决此问题的唯一方法是在RepeatButton上设置
Focusable=“false”
。谢谢chaosmaker,但这并不能解决问题;笔划只是设置+/-按钮的颜色,我觉得它与焦点问题无关。
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Stroke"
Value="{Binding RelativeSource={RelativeSource AncestorType=RepeatButton},
Path=Foreground}" />
</Trigger>
</Style.Triggers>