次の方法で共有


FrameworkElement.Style プロパティ

定義

この要素がレンダリングされるときに使用されるスタイルを取得または設定します。

public:
 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

プロパティ値

要素に適用された既定以外のスタイル (存在する場合)。 それ以外の場合は、 null。 既定で構築された FrameworkElement の既定値は nullです。

次の例では、リソース ディクショナリのスタイルを定義します。

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

注釈

コントロールの場合、現在のスタイルは、多くの場合、コントロールテーマから、または通常、ページまたはアプリケーション レベル (暗黙的なスタイル) でリソースによってその型のコントロールに適用されるスタイルから、既定のスタイルによって提供されます。 このプロパティは、既定の (テーマ) スタイルを設定または返しませんが、暗黙的なスタイルまたは要素に対して動作する明示的なスタイルを返します。 暗黙的または明示的なスタイルの場合、スタイルがリソースとして指定されているか、ローカルで定義されているかは関係ありません。

スタイルの設定にはいくつかの制限があります。 Styleプロパティ全体をいつでも新しいStyleにリセットできるため、レイアウトの再配置が強制されます。 ただし、そのスタイルが読み込まれた要素によって使用されるとすぐに、 Style はシールされていると見なす必要があります。 使用中のスタイルの個々のプロパティ ( Settersのコレクション内のプロパティなど) を変更しようとすると、例外がスローされます。 マークアップで定義されているスタイルは、リソース ディクショナリ (リソースの場合) から読み込まれたり、その中に含まれているページが読み込まれたりするとすぐに使用されていると見なされます (インライン スタイルの場合)。

Style は、特別な優先順位を持つ依存関係プロパティです。 ローカルに設定されたスタイルは、通常、プロパティ システムで最も高い優先順位で動作します。 この時点で Style が null の場合、プロパティ システムの読み込み中に、その型を指定するローカル リソースまたはアプリケーション リソース内の暗黙的なスタイルがチェックされます。 この手順の後もスタイルが null の場合、プレゼンテーション用の動作スタイルは通常、既定の (テーマ) スタイルから取得されますが、既定のスタイルは Style プロパティ値では返されません。 「依存関係プロパティの値の優先順位」または「スタイル設定とテンプレート」を参照してください。

XAML 属性の使用法

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

XAML プロパティ要素の使用法

XAML 値

resourceExtension 次のいずれか: または . 「XAML リソース」を参照してください。

styleResourceKey 要求されるスタイルを識別するキー。 キーは、 ResourceDictionary内の既存のリソースを参照します。

プロパティ要素の構文は技術的には可能ですが、ほとんどのスタイル のシナリオでは推奨されません。 「 インライン スタイルとテンプレート」を参照してください。 TemplateBinding または Binding を使用したバインディング参照も可能ですが、一般的ではありません。

依存関係プロパティ情報

品目 価値
識別子フィールド StyleProperty
に設定されたメタデータ プロパティ true AffectsMeasure

適用対象