Procedura: applicare un oggetto FocusVisualStyle a un controllo
In questo esempio viene illustrato come creare uno stile di visualizzazione dello stato attivo nelle risorse e applicare lo stile a un controllo usando la FocusVisualStyle proprietà .
Esempio
Nell'esempio seguente viene definito uno stile che crea una composizione di controlli aggiuntiva che si applica solo quando il controllo è incentrato sulla tastiera nell'interfaccia utente. Questa operazione viene eseguita definendo uno stile con un ControlTemplateoggetto , quindi facendo riferimento a tale stile come risorsa quando si imposta la FocusVisualStyle proprietà .
Un rettangolo esterno simile a un bordo viene posizionato all'esterno dell'area rettangolare. Se non diversamente modificato, il ridimensionamento dello stile utilizza e ActualHeightActualWidth del controllo rettangolare in cui viene applicato lo stile di visualizzazione dello stato attivo. In questo esempio vengono impostati valori negativi per fare in modo che Margin il bordo venga visualizzato leggermente all'esterno del controllo con stato attivo.
<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>
Un FocusVisualStyle oggetto è aggiuntivo per qualsiasi stile di modello di controllo proveniente da uno stile esplicito o uno stile del tema. Lo stile principale di un controllo può comunque essere creato utilizzando un ControlTemplate oggetto e impostando tale stile sulla Style proprietà .
Gli stili di visualizzazione dello stato attivo devono essere usati in modo coerente in un tema o in un'interfaccia utente, invece di usarne uno diverso per ogni elemento attivabile. Per informazioni dettagliate, vedere Applicazione di stili per lo stato attivo nei controlli e FocusVisualStyle.
Vedi anche
.NET Desktop feedback