Как изменить цвет пунктирной рамки в WPF? - PullRequest
6 голосов
/ 06 июля 2011

В навигации с помощью клавиатуры, когда кнопка выбрана, она имеет пунктирную рамку.Как изменить его цвет?

1 Ответ

6 голосов
/ 06 июля 2011

Я верю, что вы ищете 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...