ContentElement.Focusable プロパティ


要素がフォーカスを得ることができるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the element can receive focus.

 property bool Focusable { bool get(); void set(bool value); };
public bool Focusable { get; set; }
member this.Focusable : bool with get, set
Public Property Focusable As Boolean


要素がフォーカス可能な場合は、true。それ以外の場合は、falsetrue if the element is focusable; otherwise false. 既定値は、false です。The default is false.


次の例では、Paragraph に既定でフォーカスを設定し、フォーカスを受け取ると視覚的な動作を与えるスタイルを作成します。The following example creates a style that makes a Paragraph focusable by default and gives it a visual behavior when it receives focus.

<Style x:Key="FocusableParagraph" TargetType="{x:Type Paragraph}">
  <Setter Property="Focusable" Value="true"/>
    <Trigger Property="IsFocused" Value="True">
      <Setter Property = "Background" Value="{StaticResource BlueGreenBrush}"/>


フォーカスがある要素のみがキーボード入力を受け取ります。Only the focused element receives keyboard input.

特定の派生クラスでは、この依存関係プロパティのメタデータをオーバーライドして、既定で派生クラスにフォーカスを設定できるようにすることができます。Certain derived classes might override metadata for this dependency property such that the derived class is focusable by default.

Hyperlink またはその派生クラスによって継承されると、Hyperlink この依存関係プロパティのメタデータをオーバーライドし、このプロパティの既定値を trueするように再定義します。When inherited by Hyperlink or its derived classes, Hyperlink overrides the metadata for this dependency property and redefines the default value of this property to be true.

依存関係プロパティの情報Dependency property information

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

継承に関する注意事項Notes to inheritors

ContentElementから派生する場合は、要素にフォーカスを設定できるようにするかどうかを検討します。既定ではフォーカスを設定できないためです。When you derive from ContentElement, consider whether you want your element to be focusable, because by default it will not be focusable. 要素にフォーカスを設定できるようにするには、次のように、派生クラスの静的コンストラクターでこのプロパティのメタデータをオーバーライドします。If you want your element to be focusable, override the metadata for this property in your derived class static constructor as follows:

FocusableProperty.OverrideMetadata(typeof(myElement), new UIPropertyMetadata(true));
FocusableProperty.OverrideMetadata(GetType(myElement), New UIPropertyMetadata(True))

ここで myElement は、メタデータ値をオーバーライドする型のクラス名です。where myElement is the class name of the type that you are overriding the metadata value on.