FrameworkElement.Style プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
public:
property Style ^ Style { Style ^ get(); void set(Style ^ value); };
Style Style();
void Style(Style value);
public Style Style { get; set; }
var style = frameworkElement.style;
frameworkElement.style = style;
Public Property Style As Style
<frameworkElement Style="{StaticResource styleResourceKey}"/>
プロパティ値
オブジェクトに適用されたスタイル (存在する場合)。それ以外の場合は null
。 既定で構築された FrameworkElement の既定値は です null
。
注釈
プロパティを Style
直接設定することは、UI 要素の外観をスタイル設定する最も一般的な方法ではありません。 代わりに、次のいずれかの手法を使用して UI 要素の外観に影響を与えます。
- 多くの場合、UI 要素の個々の UI プロパティを XAML の属性として設定します。
FrameworkElement.Style
は現在の要素にのみ適用され、 からのFrameworkElement.Style
値はローカル プロパティ値によって上書きされるため、ローカル値の設定はより直接的で予測可能になります。 Style 値とローカル プロパティ値の関係の詳細については、「依存関係プロパティの概要」を参照してください。 - コントロール作成者は通常、テンプレート可能なコントロールを記述しますが、既定のテンプレートも付属しています。 アプリでは、リソースで定義されているスタイルの一部である新しい ControlTemplate を提供することで、コントロールを使用してその外観を変更できます。 このスタイルは、通常、 を設定
Style
することによってではなく、暗黙的なスタイル機能を使用して適用されます。 詳細については、「コントロールの スタイル設定」を参照してください。 - コントロール作成者は、コントロールの一部を参照するプロパティも公開します。このプロパティは、その部分のみにスタイルまたは値を適用できるため、コントロールを完全に再テンプレートする必要はありません。 ここでは、 ではなく
FrameworkElement.Style
、より具体的なプロパティを設定しています。 - ビジュアル状態モデルは、ユーザー自身が視覚的にマニフェストする状態の変化に応じて、実行時にコントロールのスタイルを頻繁にリセットします。 たとえば、コントロール テンプレートには通常、コントロールの外観に視覚的フォーカス インジケーターを追加する "フォーカス" 状態があり、キーボード ユーザーは UI のどの要素が現在のキーボード フォーカスを持っているかを確認できます。 ビジュアル状態の概念の詳細については、「 XAML コントロール テンプレート」を参照してください。
スタイル内で設定されている個々のプロパティの値を変更できます。 たとえば、このプロパティがスタイルによって設定されている場合でも、実行時に Template プロパティを設定できます。 または、Setters でコレクションに セッターを追加することもできます。 ただし、読み込まれたオブジェクトによってスタイルが使用されるとすぐに、 Style はシールされていると見なす必要があります。 この状態は、 の IsSealedStyle
の値を確認することで検出できます。 スタイルは、表示されている UI ページのオブジェクト ツリーに接続されている読み込まれたオブジェクトによって参照されるとすぐに使用されていると見なされます。
Style
また、そのスタイルをSetters
使用するオブジェクトが Loaded イベントを発生させる場合は、 とその オブジェクトをシールと見なすこともできます。 使用中のスタイルの個々のプロパティ (コレクション内 Setters
のプロパティなど) を変更しようとすると、例外がスローされます。
Control から派生したクラスには、スタイルとテンプレート アプリケーションに関して作成者を制御するのに役立つ追加のエントリ ポイントがあります。
FrameworkElement は 、Loaded より前に呼び出される仮想コールバック OnApplyTemplate を定義 します。 から Control
派生したクラスは、このコールバックをオーバーライドして、スタイルが使用される前にテンプレートによって設定されたプロパティ値を調整できます。
実行時にクエリを実行した場合、プロパティは、 Style
適用されたテンプレートまたはアクティブな表示状態から取得されたスタイルを返しません。 プロパティによって Style
明示的に設定されたスタイルのみが返されます。 また、暗黙的なスタイルは返されません。