FrameworkContentElement.Resources プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ローカルで定義された現在のリソース ディクショナリを取得または設定します。
public:
property System::Windows::ResourceDictionary ^ Resources { System::Windows::ResourceDictionary ^ get(); void set(System::Windows::ResourceDictionary ^ value); };
public System.Windows.ResourceDictionary Resources { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.ResourceDictionary Resources { get; set; }
member this.Resources : System.Windows.ResourceDictionary with get, set
[<System.Windows.Markup.Ambient>]
member this.Resources : System.Windows.ResourceDictionary with get, set
Public Property Resources As ResourceDictionary
プロパティ値
ローカルで定義された現在のリソース。 これはリソース ディクショナリです。ディクショナリ内のリソースにはキーでアクセスします。
- 属性
例
次の例では、ルート要素に Resources コレクションを FlowDocument 設定します。 FlowDocument これは、ルート要素として意味のある数少ない FrameworkContentElement クラスの 1 つであり、リソースは通常、ページ ルートまたはアプリケーションなどのより高いレベルに格納されるため、一般的な選択肢です。
<FlowDocument
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class=" SDKSample.Page2">
<FlowDocument.Resources>
<Style TargetType="{x:Type Paragraph}" x:Key="BluePara">
<Setter Property="Background" Value="Blue"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="Foreground" Value="LightBlue"/>
<Setter Property="FontFamily" Value="Trebuchet MS"/>
</Style>
</FlowDocument.Resources>
<Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>
</FlowDocument>
注釈
拡張アプリケーション マークアップ言語 (XAML) で完全または部分的に定義できるリソース ディクショナリは、通常、プロパティ要素として作成され、通常は個々のページまたはアプリケーションのルート要素にあります。 リソース ディクショナリをこのレベルに配置すると、ページ内の個々の子要素から (またはアプリケーションの場合は任意のページから) 簡単に見つけることができます。 ほとんどのアプリケーション シナリオでは、スタイルをリソース ディクショナリ内のオブジェクト要素として定義するか、スタイル リソース全体を自己完結型にできるように外部リソースとして定義することをお勧めします (このアプローチは、編集する必要がある物理ファイルを分離することで、デザイナーの責任と開発者の責任を分離するのに役立ちます)。
このプロパティは、その要素内で直接宣言されたリソース ディクショナリのみを返します。 これは、子要素が各親要素で定義されている任意のリソースにアクセスし、再帰的に上方向に検索できる実際のリソース参照プロセスとは異なります。
リソースはコレクション内からコードで参照することもできますが、XAML で作成されたリソースは、ディクショナリを宣言する 要素によって が発生するまで Loaded は、間違いなくアクセスできないことに注意してください。 実際、リソースは非同期的に解析されます。イベントでさえ Loaded 、XAML で定義されたリソースを参照できることを保証するわけではありません。 このため、通常は、実行時コードの一部として、またはスタイルや属性値のリソース拡張参照などの他の XAML 手法を使用して、XAML 定義リソースにのみアクセスする必要があります。 コードを使用してリソースにアクセスする場合、これは基本的に XAML から作成された DynamicResource 参照と同じです。
基になる ResourceDictionary は、コードを使用してコレクション内からリソースを追加、削除、またはクエリするために必要なメソッドをサポートしています。 プロパティは Resources 、要素のリソース コレクションを新しい または異なる ResourceDictionaryに完全に置き換えるシナリオをサポートするように設定できます。
示されている XAML 構文には、 の ResourceDictionary要素が含まれていないことに注意してください。 これは、暗黙的なコレクション構文の例です。コレクション要素を表すタグは省略できます。 代わりに、コレクションに項目として追加される要素を指定します。 暗黙的なコレクションと XAML の詳細については、「 XAML 構文の詳細」を参照してください。 が要素として明示的に指定されているケース ResourceDictionary の 1 つは、マージされたディクショナリを導入する場合です。その場合、通常はその ResourceDictionaryの子要素はありません。 詳細については、「 マージされたリソース ディクショナリ」を参照してください。
XAML プロパティ要素の使用
<object>
<object.Resources>
oneOrMoreResourceElements
</object.Resources>
</object>
XAML 値
oneOrMoreResourceElements
リソースを定義する 1 つ以上のオブジェクト要素。 各内の各 ResourceDictionary リソース プロパティ要素には 、x:Key ディレクティブの一意の値が必要です。これは、 から ResourceDictionary値を取得するときに一意のキーとして機能します。
適用対象
こちらもご覧ください
.NET