在获得焦点时突出显示WPF控件

Meg*_*ind 5 c# wpf resourcedictionary

我正在开发一个有很多屏幕的WPF应用程序,每个屏幕都有很多控件.它很难确定哪个控件具有焦点.

所以我想强调目前关注它的控件.它可以是文本框,按钮,组合框,列表框或网格.

如果我们可以使用样式和触发器来做这件事会更好.

谢谢

gah*_*cep 8

您应该为正确的事件使用触发器.在你的情况下它是IsFocused.简单的例子:

<Trigger Property="IsFocused" Value="true">
    <Setter Property="BorderBrush" Value="Red" />
    <Setter Property="BorderThickness" Value="1" />
</Trigger>
Run Code Online (Sandbox Code Playgroud)

Style如果要将此样式应用于特定控件类型(TargetType="{x:Type TextBox}"例如,使用),则应使用标记.

如果要应用于应用程序中的所有控件类型,则应考虑使用仅具有此类触发器的基本样式,而不是仅使用BasedOn属性帮助在自定义样式中继承它: <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource BaseFocusStyle}">

如何做到这一点的好例子是一个问题:" 如何使Style.Triggers触发一个不同的命名样式来应用 ".