FrameworkElement.FocusVisualStyle プロパティ


この要素がキーボード フォーカスを受け取ったときに適用される外観、効果、またはその他のスタイル特性のカスタマイズを可能にするプロパティを取得または設定します。Gets or sets a property that enables customization of appearance, effects, or other style characteristics that will apply to this element when it captures keyboard focus.

 property System::Windows::Style ^ FocusVisualStyle { System::Windows::Style ^ get(); void set(System::Windows::Style ^ value); };
public System.Windows.Style FocusVisualStyle { get; set; }
member this.FocusVisualStyle : System.Windows.Style with get, set
Public Property FocusVisualStyle As Style



フォーカスに適用する目的のスタイル。The desired style to apply on focus. 依存関係プロパティで宣言されている既定値は、空の静的 Style です。The default value as declared in the dependency property is an empty static Style. ただし、実行時の有効値は、多くの場合、コントロールのテーマ サポートによって提供されたスタイルです (ただし、常にそうであるとは限りません)。However, the effective value at run time is often (but not always) a style as supplied by theme support for controls.


このプロパティはビジュアル AffectsRender の外観に影響しますが、メタデータでは報告されません。This property affects visual appearance but does not report AffectsRender in metadata. これは、視覚的な外観の変更はイベントドリブンであり、常に適用されない可能性があるため、通常はビジュアルやレイアウト情報をメタデータに報告しないようにしてください。This is because the visual appearance change is event-driven and may not apply at all times, and therefore should not generally report any visual or layout information in metadata.

概念的には、コントロールに適用されるフォーカスの視覚的な動作は、コントロールからコントロールまで一貫している必要があります。Conceptually, the visual behavior of focus applied to a control should be coherent from control to control. 一貫性を適用する最も合理的な方法は、テーマ全体を作成する場合にのみフォーカスの視覚スタイルを変更することです。The most sensible way to enforce coherence is to only change the focus visual style if you are composing an entire theme. このプロパティをテーマの一部としてではなく、個々のコントロールスタイルで設定することは、このプロパティを使用するためのものではありません。これは、キーボードフォーカスに関してユーザーエクスペリエンスが混乱する可能性があるためです。Setting this property on individual control styles and not as part of a theme is not the intended usage of this property, because it may lead to a confusing user experience regarding keyboard focus. テーマ全体で一貫していないコントロール固有の動作を行う場合は、やなど、個々の入力状態プロパティのスタイルでトリガーを使用し、既存の IsFocused IsKeyboardFocusWithin フォーカスの visual スタイルを視覚的に干渉しないようにする方法がより適しています。If you are intending control-specific behavior that is deliberately not coherent across a theme, a much better approach is to use triggers in styles for individual input state properties, such as IsFocused or IsKeyboardFocusWithin, and to do so in a way that does not visually interfere with any existing focus visual style. および代替のフォーカスプロパティの設計目的の詳細につい FocusVisualStyle ては、「 コントロールのフォーカスのスタイル設定」および「FocusVisualStyle」を参照してください。For more information on the design intention of FocusVisualStyle and alternative focus properties, see Styling for Focus in Controls, and FocusVisualStyle.

XAML 属性の使用方法XAML Attribute Usage

<object FocusVisualStyle="{resourceExtension styleResourceKey}"/>  

XAML プロパティ要素の使用XAML Property Element Usage


次のいずれか:、または。One of the following: , or . XAML リソース」を参照してください。See XAML Resources.

要求されているスタイルを識別するキー。The key that identifies the style being requested. キーは、内の既存のリソースを参照し ResourceDictionary ます。The key refers to an existing resource in a ResourceDictionary.


Property 要素の構文は技術的には可能ですが、推奨されません。Property element syntax is technically possible, but not recommended. インラインスタイルとテンプレート」を参照してください。See Inline Styles and Templates. TemplateBindingまたはを使用したバインディング参照 Binding も可能ですが、一般的ではありません。A binding reference using TemplateBinding or Binding is also possible, but uncommon.

依存プロパティ情報Dependency Property Information

識別子フィールドIdentifier field FocusVisualStyleProperty
メタデータプロパティがに設定される trueMetadata properties set to true なしNone