FrameworkElement.Style プロパティ


この要素が使用するスタイルを、表示されるときに取得または設定します。Gets or sets the style used by this element when it is rendered.

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



要素に適用される既定以外のスタイル (存在する場合)。The applied, nondefault style for the element, if present. それ以外の場合は nullOtherwise, null. 既定で構築された FrameworkElement の既定値は null です。The default for a default-constructed FrameworkElement is null.

次の例では、リソースディクショナリでスタイルを定義します。The following example defines a style in a resource dictionary.

<Style TargetType="Border" x:Key="PageBackground">
  <Setter Property="Background" Value="Blue"/>
<Border Style="{StaticResource PageBackground}">


コントロールの場合、現在のスタイルは、コントロールのテーマからの既定のスタイル、またはページレベルまたはアプリケーションレベルのリソースによってその型のコントロールに一般的に適用されるスタイル (暗黙的なスタイル) によって提供されます。For controls, the current style is often provided by a default style from control theming, or from styles generally applied to controls of that type by resources at page or application level (an implicit style). このプロパティは、既定 (テーマ) のスタイルを設定または返しませんが、暗黙的なスタイルまたは要素に対して動作する明示的なスタイルのいずれかを返します。This property does not set or return default (theme) styles, but it does return either an implicit style or an explicit style that is acting on the element. 暗黙的または明示的なスタイルの場合、スタイルがリソースとして指定されているか、ローカルに定義されているかは関係ありません。In the case of implicit or explicit styles, it does not matter whether the style is specified as a resource or defined locally.

スタイルの設定にはいくつかの制限があります。Setting the styles has some restrictions. いつ Style でもプロパティ全体を新しいにリセットでき Style ます。これにより、レイアウト再合成が強制的に適用されます。You can reset the entire Style property to a new Style at any time, which will force a layout recomposition. ただし、読み込まれた要素によってそのスタイルが使用されるとすぐに、は Style sealed と見なされます。However, as soon as that style is placed in use by a loaded element, the Style should be considered sealed. 使用中のスタイル (のコレクション内にあるものなど) の個々のプロパティを変更しようとすると Setters 、例外がスローされます。Attempting to make a change to any individual property of an in-use style (such as anything within the collection of Setters) causes an exception to be thrown. マークアップで定義されたスタイルは、リソースディクショナリ (リソースの場合) から読み込まれたとき、またはそれが含まれているページが読み込まれるとすぐに使用中と見なされます (インラインスタイルの場合)。A style that is defined in markup is considered to be in use as soon as it is loaded from a resource dictionary (for resources), or the page it is contained within is loaded (for inline styles).

Style は、特別な優先順位を持つ依存関係プロパティです。Style is a dependency property with special precedence. ローカルで設定されたスタイルは、一般に、プロパティシステムで最も優先順位が高いものになります。The locally set style generally operates at the highest precedence in the property system. Styleこの時点でが null の場合、プロパティシステムの読み込み中に、その型を指定するローカルリソースまたはアプリケーションリソースの暗黙的なスタイルを確認します。If the Style is null at this point, during loading the property system checks for implicit styles in local or application resources that specify that type. この手順の後でスタイルが null の場合は、通常、プレゼンテーション目的で動作するスタイルは既定 (テーマ) のスタイルから取得されますが、プロパティ値では既定のスタイルは返されません StyleIf the style is still null after this step, then the acting style for presentation purposes generally comes from the default (theme) style, but the default style is not returned in the Style property value. 依存関係プロパティ値の優先順位、「スタイルとテンプレート」を参照してください。See Dependency Property Value Precedence or Styling and Templating.

XAML 属性の使用方法XAML Attribute Usage

<object Style="{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 for most style scenarios. インラインスタイルとテンプレート」を参照してください。See Inline Styles and Templates. TemplateBindingまたはを使用したバインディング参照 Binding も可能ですが、一般的ではありません。A binding reference using TemplateBinding or Binding is also possible, but uncommon.

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

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