Nasıl yapılır: Denetime FocusVisualStyle Uygulama

Bu örnek, kaynakları bir odak görsel stilinin nasıl oluşturulacağını ve özelliğini kullanarak bir denetime nasıl uygulanacağını gösterir FocusVisualStyle .

Örnek

Aşağıdaki örnek, yalnızca denetimin kullanıcı arabirimine (UI) odaklandığı zaman geçerli olan ek denetim birleştirmesini oluşturan bir stil tanımlar. Bu, bir stil tanımlayarak ControlTemplate ve özellik ayarlanırken bu stile kaynak olarak başvurularak yapılır FocusVisualStyle .

Bir kenarlığa benzeyen dış Dikdörtgen dikdörtgen alanın dışına yerleştirilir. Aksi belirtilmedikçe stilin boyutlandırılması, ActualHeightActualWidth odak görsel stilinin uygulandığı dikdörtgen denetimin ve öğesini kullanır. Bu örnek, Margin kenarlığını odaklanmış denetimin dışında biraz görünmesi için için negatif değerleri ayarlar.

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
  <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>
</Page>

FocusVisualStyle, Açık bir stille veya tema stilinden gelen herhangi bir denetim şablonu stiline eklenebilir; bir denetimin birincil stili, kullanılarak ControlTemplate ve bu stil özelliği için ayarlanarak oluşturulabilir Style .

Odak görsel stilleri, odaklanacak her öğe için farklı bir tane kullanmak yerine bir tema veya Kullanıcı arabirimi genelinde sürekli olarak kullanılmalıdır. Ayrıntılar için bkz. denetimlerde odak Için stil oluşturma ve FocusVisualStyle.

Ayrıca bkz.