FrameworkElement.Style プロパティ

定義

この要素が使用するスタイルを、表示されるときに取得または設定します。

C#
public System.Windows.Style Style { get; set; }

プロパティ値

Style

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

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

XAML
<Page.Resources>
XAML
<Style TargetType="Border" x:Key="PageBackground">
  <Setter Property="Background" Value="Blue"/>
</Style>
XAML
<Border Style="{StaticResource PageBackground}">
XAML
</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

適用対象

製品 バージョン
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7