次の方法で共有


Application.Resources プロパティ

定義

スタイル、テンプレート、ブラシなど、アプリケーション スコープのリソースのコレクションを取得します。

ResourceDictionary Resources();

void Resources(ResourceDictionary value);
public ResourceDictionary Resources { get; set; }
var resourceDictionary = application.resources;
application.resources = resourceDictionary;
Public Property Resources As ResourceDictionary

プロパティ値

0 個以上のアプリケーション スコープリソースを含む ResourceDictionary オブジェクト。

この例では、アプリ固有のリソースを宣言する方法を示します (これにより、共通のコンバーター クラス インスタンスが作成されます)。 次に、内に ResourceDictionary 要素を含む Application.MergedDictionaries プロパティ要素を追加し、それぞれが URI によって XAML ファイルを Source として参照します

<Application.Resources>
    <ResourceDictionary>
      <common:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> 
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="rd1.xaml" />
        <ResourceDictionary Source="rd2.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>

注釈

Windows ランタイムのリソース ディクショナリ モデルでは、Windows Presentation Foundation (WPF) または .NET MAUI を使用してアプリケーションを作成した場合に慣れている可能性がある XAML リソースの概念の多くがサポートされています。 詳しくは、「ResourceDictionary と XAML リソースの参照」をご覧ください。

プロパティ要素を埋める ResourceDictionary で定義した Application.Resources リソースは、アプリの任意のページから取得できます。 これは、アプリのページの多くがすべて同じリソースを使用している場合に便利です。 たとえば、アプリの UI の配色に使用している SolidColorBrush リソースがあり、その色がほとんどのページで使用されている場合は、 で Application.ResourcesSolidColorBrush を宣言するのが理にかなっています。

にリソースを追加する場合は Application.Resources、既存 ResourceDictionary.MergedResourcesの の の前または後に追加します。 XAML のルールでは、プロパティ要素タグの両側にコンテンツを配置することはできません。 詳細については、「 XAML 構文ガイド」を参照してください。

ヒント

1 つのリソースをアプリ全体の多くのページで使う場合、そのリソースを App.xaml に格納することをお勧めします。これにより、重複を避けられます。 ただし、App.xaml はアプリの起動時に解析されるため、1 つのページのみで使用されるリソース (ページが最初のページでない限り) をページのローカル リソースに配置する必要があります。 詳細については、「 XAML マークアップを最適化する」を参照してください。

適用対象

こちらもご覧ください