【问题标题】:How to change a Button's tab stop dashed border color in WPF?如何在 WPF 中更改按钮的制表位虚线边框颜色?
【发布时间】:2011-09-29 15:31:51
【问题描述】:

在键盘导航中,当一个按钮被选中时,它有一个虚线边框。如何改变它的颜色?

【问题讨论】:

    标签: .net wpf xaml button


    【解决方案1】:

    我相信您正在寻找的是FocusVisualStyle。如果将此设置为 null,则可以隐藏虚线边框。在您的情况下,您想更改颜色。您要做的是创建一个新样式并将其应用于FocusVisualStyle

    这是一篇 MSDN 文章,向您展示了如何执行此操作:

    http://msdn.microsoft.com/en-us/library/ms744790.aspx

    他们列出的基本代码如下:

    <Page.Resources>
      <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>
    </Page.Resources>
    <StackPanel Background="Ivory" Orientation="Horizontal">
      <Canvas Width="10"/>
      <Button Width="100" Height="30" FocusVisualStyle="{DynamicResource MyFocusVisual}">
        Focus Here</Button>
      <Canvas Width="100"/>
      <Button Width="100" Height="30" FocusVisualStyle="{DynamicResource MyFocusVisual}">
        Focus Here</Button>
    </StackPanel>
    

    【讨论】:

    • 在尝试完全取消样式时,请记住ContentControlItemsControl 也使用FocusVisualStyle,因此可能还需要在这些实例中添加FocusVisualStyle="{x:Null}"
    猜你喜欢
    • 2010-12-25
    • 2017-08-03
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多