如何将类似chrome的焦点矩形添加到wpf控件?

如何将类似chrome的焦点矩形添加到wpf控件?,wpf,xaml,Wpf,Xaml,关于如何删除焦点矩形有很多问题,但我希望它们总是显示出来,就像Chrome/Safari一样。我想我想使用装饰器,这样就不会干扰控件所拥有的现有样式,但我从来没有使用过它们,也找不到任何关于如何实现我想要的功能的示例。谁能给我指一下正确的方向吗 编辑:聚焦时,此处的输入框有蓝色边框 这种效果称为“外发光”;一旦你知道了这一点,谷歌就会提供很多东西。我发现这很有效: <DropShadowEffect x:Key="SelectionGlow" BlurRadius="3"

关于如何删除焦点矩形有很多问题,但我希望它们总是显示出来,就像Chrome/Safari一样。我想我想使用装饰器,这样就不会干扰控件所拥有的现有样式,但我从来没有使用过它们,也找不到任何关于如何实现我想要的功能的示例。谁能给我指一下正确的方向吗

编辑:聚焦时,此处的输入框有蓝色边框

这种效果称为“外发光”;一旦你知道了这一点,谷歌就会提供很多东西。我发现这很有效:

        <DropShadowEffect x:Key="SelectionGlow" BlurRadius="3" ShadowDepth="0" Color="{StaticResource {x:Static SystemColors.HighlightColorKey}}" Direction="0" />

        <Style TargetType="TextBox">
            <Style.Triggers>
                <Trigger Property="IsKeyboardFocusWithin" Value="True">
                    <Setter Property="Effect" Value="{StaticResource SelectionGlow}"/>
                </Trigger>
            </Style.Triggers>
        </Style>

关于此解决方案,有两点:

  • 它不会禁用按钮上的焦点矩形等
  • 我不确定性能是否存在问题-位图效果渲染存在(曾经?)问题。我不确定这是否适用,或者这是否符合位图效果。它只用于聚焦元素,所以不会太糟糕
  • 这种效果称为“外发光”;一旦你知道了这一点,谷歌就会提供很多东西。我发现这很有效:

            <DropShadowEffect x:Key="SelectionGlow" BlurRadius="3" ShadowDepth="0" Color="{StaticResource {x:Static SystemColors.HighlightColorKey}}" Direction="0" />
    
            <Style TargetType="TextBox">
                <Style.Triggers>
                    <Trigger Property="IsKeyboardFocusWithin" Value="True">
                        <Setter Property="Effect" Value="{StaticResource SelectionGlow}"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
    
    
    
    关于此解决方案,有两点:

  • 它不会禁用按钮上的焦点矩形等
  • 我不确定性能是否存在问题-位图效果渲染存在(曾经?)问题。我不确定这是否适用,或者这是否符合位图效果。它只用于聚焦元素,所以不会太糟糕
  • 你指的是什么“焦点矩形”?发布它的截图。你指的是什么“焦点矩形”?发布它的截图。