FrameworkContentElement.Resources FrameworkContentElement.Resources FrameworkContentElement.Resources FrameworkContentElement.Resources Property


ローカルで定義された現在のリソース ディクショナリを取得または設定します。Gets or sets the current locally-defined resource dictionary.

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


ローカルで定義された現在のリソース。The current locally-defined resources. これはリソース ディクショナリです。ディクショナリ内のリソースにはキーでアクセスします。This is a dictionary of resources, where resources within the dictionary are accessed by key.

次の例では確立、ResourcesでコレクションをFlowDocumentルート要素。The following example establishes a Resources collection on a FlowDocument root element. FlowDocument 一般的な選択肢は、いくつかのいずれかであるためFrameworkContentElementページのルートにあるか、アプリケーションのようにこのようなさらに高いレベルでは、ルート要素、およびリソースとして意味のあるクラスが一般的に格納します。FlowDocument is a typical choice because it is one of the few FrameworkContentElement classes that make sense as a root element, and resources are generally stored at the page root or at even higher levels such as in the application.

  x:Class=" SDKSample.Page2">
    <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"/>
  <Paragraph Style="{StaticResource BluePara}">Lorem ipsum etc.</Paragraph>


リソース ディクショナリで完全にまたは部分的に定義できるExtensible Application Markup Language (XAML)Extensible Application Markup Language (XAML)は、通常、プロパティ要素として作成し、個々 のページまたはアプリケーションのルート要素では、通常します。Resource dictionaries that can be defined completely or partially in Extensible Application Markup Language (XAML)Extensible Application Markup Language (XAML) are typically created as a property element, and are typically on the root element for any individual page or for the application. このレベルでリソース ディクショナリを配置すると、ページ内の個々 の子要素 (またはアプリケーションの場合は、任意のページ) を検索しやすきます。Placing the resource dictionary at this level makes it easier to find from individual child elements in the page (or from any page, in the application case). ほとんどのアプリケーション シナリオでお勧めのスタイルをリソース ディクショナリ内のオブジェクト要素として定義するか、スタイル リソース全体を自己完結できるように、外部のリソースとして定義する (このアプローチにより、別のデザイナー責任を編集する必要がある物理ファイルを分離することで、開発者の役割から)。In most application scenarios, we recommend that styles be defined as object elements within a resource dictionary, or be defined as external resources so that the entire style resource can be self-contained (this approach helps separate designer responsibilities from developer responsibilities by separating the physical files that need to be edited).

このプロパティがその要素内で直接宣言されているリソース ディクショナリのみを返すことに注意してください。Note that this property returns only the resource dictionary declared directly within that element. これは、実際のリソース ルックアップ プロセスが子要素がアクセスできる検索方向を再帰的に、各親要素で定義されているリソースのいずれかによって異なります。This is different than the actual resource lookup process, where a child element can access any of the resources defined in each parent element, searching recursively upwards.

リソースは、コレクション内からコードで参照することもできますでリソースが作成されたことに注意してくださいXAMLXAMLは間違いなくできません後までアクセスLoadedはディクショナリを宣言した要素から発生します。Resources can also be referenced by code from within the collection, but be aware that resources created in XAMLXAML will definitely not be accessible until after Loaded is raised by the element that declares the dictionary. 実際には、リソースは、非同期的に解析され、であっても、Loadedイベントが参照できるように保証、XAMLXAMLリソースを定義します。In fact, resources are parsed asynchronously, and not even the Loaded event is an assurance that you can reference a XAMLXAML defined resource. この理由でアクセスすることは一般的にのみXAMLXAMLまたはその他の実行時のコードの一部として定義リソースXAMLXAMLスタイルや属性の値をリソース拡張機能の参照などの手法です。For this reason you should generally only access XAMLXAML defined resources as part of run-time code, or through other XAMLXAML techniques such as styles or resource extension references for attribute values. 基本的と同じになりますコードによって、リソースにアクセスするときに、 DynamicResourceから行われる参照XAMLXAMLします。When you access resources through code, it is essentially equivalent to a DynamicResource reference made from XAMLXAML.

基になるResourceDictionaryを追加、削除、またはコードを使用して、コレクション内からリソースをクエリに必要なメソッドをサポートしています。The underlying ResourceDictionary supports the methods required to add, remove, or query resources from within the collection by using code. Resourcesプロパティは、要素を新しいまたは別のリソースのコレクションを完全に置き換えるのシナリオをサポートする設定ResourceDictionaryします。The Resources property is settable to support the scenario of completely replacing the resources collection of an element to be a new or different ResourceDictionary.

なお、XAMLXAMLに示す構文の要素を含まない、 ResourceDictionaryNotice that the XAMLXAML syntax shown does not include an element for the ResourceDictionary. これは、暗黙の型のコレクション構文の例コレクションの要素を表すタグを省略できます。This is an example of implicit collection syntax; a tag representing the collection element can be omitted. 代わりに、コレクションに項目として追加される要素を指定します。The elements that are added as items to the collection are specified instead. 暗黙の型のコレクションの詳細については、XAMLXAMLを参照してくださいXAML 構文の詳細します。For more information about implicit collections and XAMLXAML, see XAML Syntax In Detail. 1 つのケースで、ResourceDictionary要素は、マージされたディクショナリを導入する場合に要素がない通常子を明示的に指定がまだResourceDictionaryします。One case where a ResourceDictionary is still specified explicitly as an element is if you are introducing a merged dictionary, in which case there are typically no child elements for that ResourceDictionary. 詳細については、次を参照してください。 Merged Resource Dictionariesします。For details, see Merged Resource Dictionaries.

XAML プロパティ要素の使用XAML Property Element Usage



1 つまたは複数のオブジェクト要素のリソースを定義します。One or more object elements, each of which defines a resource. 各リソースのプロパティ要素内で各ResourceDictionaryの値が一意である必要があります、 X:key ディレクティブから値を取得するときに、一意のキーとして使用される、ResourceDictionaryします。Each resource property element within each ResourceDictionary must have a unique value for the x:Key Directive, which serves as the unique key when values are retrieved from the ResourceDictionary.