Delen via


Hoe een FocusVisualStyle toepassen op een controle

In dit voorbeeld ziet u hoe u een focus visuele stijl maakt in resources en de stijl toepast op een controle met de eigenschap FocusVisualStyle.

Voorbeeld

In het volgende voorbeeld wordt een stijl gedefinieerd waarmee extra besturingselementen worden gemaakt die alleen van toepassing zijn wanneer dat besturingselement is gericht op het toetsenbord in de gebruikersinterface (UI). Dit wordt bereikt door een stijl te definiƫren met een ControlTemplateen vervolgens te verwijzen naar die stijl als een resource bij het instellen van de eigenschap FocusVisualStyle.

Een externe rechthoek die lijkt op een rand wordt buiten het rechthoekige gebied geplaatst. Tenzij anders gewijzigd, gebruikt het formaat van de stijl de ActualHeight en ActualWidth van het rechthoekige besturingselement waarop de focus visuele stijl wordt toegepast. In dit voorbeeld worden negatieve waarden ingesteld voor de Margin om de rand iets buiten het gerichte besturingselement weer te geven.

<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>

Een FocusVisualStyle is additief voor elke stijl van een besturingssjabloon die afkomstig is van een expliciete stijl of een themastijl; de primaire stijl voor een besturingselement kan nog steeds worden gemaakt met behulp van een ControlTemplate en deze stijl instellen op de eigenschap Style.

Visuele stijlen voor focus moeten consistent worden gebruikt in een thema of een gebruikersinterface, in plaats van een ander element te gebruiken voor elk focusbaar element. Voor meer informatie, zie Stijl voor Focus in Besturingselementen en FocusVisualStyle.

Zie ook