更新 : 2007 年 11 月
この例では、FocusVisualStyle プロパティを使用して、フォーカス表示スタイルをリソース内で作成し、このスタイルをコントロールに適用する方法を示しています。
使用例
次の例では、コントロールが ユーザー インターフェイス (UI) 内でキーボードのフォーカスを受け取ったときにのみ適用される追加のコントロール複合を作成するスタイルを定義しています。これを行うには、ControlTemplate を使用してスタイルを定義し、FocusVisualStyle プロパティを設定する際に、そのスタイルをリソースとして参照します。
境界線に似た外部四角形を四角形領域の外側に配置します。他の部分を変更しない限り、スタイルのサイズ指定には、フォーカス表示スタイルが適用される四角形コントロールの ActualHeight および ActualWidth が使用されます。次の例では、Margin> に負の値を設定して、フォーカスされたコントロールの少し外側に境界線を表示しています。
<Page
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://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 の作成のサンプル」を参照してください。
FocusVisualStyle は、明示的なスタイルまたはテーマ スタイルに由来するコントロール テンプレート スタイルに付け加えるスタイルです。コントロールの主なスタイルは、ControlTemplate を使用し、このスタイルを Style プロパティに設定することにより作成できます。
フォーカス表示スタイルは、フォーカス可能な要素ごとに別のスタイルを使用するのではなく、テーマまたは UI 全体で一貫して同じスタイルを使用する必要があります。詳細については、「コントロールのフォーカスのスタイルと FocusVisualStyle」を参照してください。
参照
概念
コントロールのフォーカスのスタイルと FocusVisualStyle