Bri*_*ett 0 wpf xaml mvvm wpf-controls
我有一个带有多个按钮/文本框的窗口。当通过选项卡浏览窗口时,我想要一种在控件收到键盘焦点时类似于控件的视觉样式
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource BasicBrush}" />
</Trigger>
Run Code Online (Sandbox Code Playgroud)
我以为会有一个IsKeyboardFocus或类似的但找不到。有谁知道一种无需处理后台代码中事件的方法?
正如Brian在评论中建议的那样,听起来您正在寻找该FrameworkElement.FocusVisualStyle物业。这使您可以指定Style谁的唯一目的实际上是定义一个谁ControlTemplate,该对象指定Adorner应应用于当前具有焦点的控件的内容。这是从MSDN上的链接页中摘录的简短示例:
<Style x:Key="MyFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="-2" StrokeThickness="1" Stroke="Red"
StrokeDashArray="1 2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
这Style将在Rectangle应用它的每个焦点控件周围添加一个红色。
| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |