次の方法で共有


方法 : アプリケーション スコープのリソースを取得および設定する

この例では、Resources を使用してアプリケーション スコープのリソースを取得および設定する方法について説明します。

使用例

Application は、共有リソースのアプリケーション スコープのストアである Resources を公開します。 アプリケーションの Application オブジェクトのスコープ内で実行されるコードは、Resources に格納されているリソースを利用できます。 これは、Current にアクセスできるコードです。 さらに、Resources はリソース検索パスで使用されます。

Resources はキーと値のペアから成るディクショナリで、次のように、マークアップとコードの両方から設定できます。

      ' Set an application-scope resource
      Application.Current.Resources("ApplicationScopeResource") = Brushes.White
// Set an application-scope resource
Application.Current.Resources["ApplicationScopeResource"] = Brushes.White;
    <Application.Resources>
        <SolidColorBrush x:Key="ApplicationScopeResource" Color="White"></SolidColorBrush>
    </Application.Resources>

リソースを取得するには、コードを使用します。

      ' Get an application-scope resource
      Dim whiteBrush As Brush = CType(Application.Current.Resources("ApplicationScopeResource"), Brush)
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];

Resources を使用するときに注意すべき点が 2 つあります。 まず、ディクショナリのキーがオブジェクトであるため、プロパティ値を設定したり取得したりするときには、まったく同じオブジェクト インスタンスを使用する必要があります (文字列を使用する場合、キーは大文字と小文字を区別します)。 2 つ目に、ディクショナリの値がオブジェクトであるため、プロパティ値を取得するときにその値を目的の型に変換する必要があります。

参照

参照

ResourceDictionary