リソースを作成して適用する

XAML デザイナーで、要素のスタイルとテンプレートは "リソース" という再利用可能なエンティティに保存されます。 スタイルを使用すると、要素のプロパティを設定し、それらの設定を複数の要素で再利用することにより、一貫した外観を維持できます。 ControlTemplate は、コントロールの外観を定義し、リソースとしての適用も可能です。 詳細については、「XAML スタイル」と「コントロール テンプレート」を参照してください。

既存のプロパティ、Style、または ControlTemplate から新しいリソースを作成するたびに、[リソースの作成] ダイアログ ボックスで、アプリケーション レベル、ドキュメント レベル、または要素レベルでリソースを定義できます。 定義したレベルに応じて、そのリソースを使用できる場所が決まります。 たとえば、要素レベルで定義したリソースは、そのリソースの作成時に使用した要素にのみ適用できます。 リソースをリソース ディクショナリに格納することも可能です。これは、別のプロジェクトでもう一度使用できる個別のファイルです。

新しいリソースの作成

  1. XAML ファイルを XAML デザイナーで開き、要素を作成するか、または [ドキュメント アウトライン] ウィンドウで要素を選択します。

  2. [プロパティ] ウィンドウで、プロパティ値の右側にボックス型のシンボルとして表示されているプロパティ マーカーを選択し、[新しいリソースに変換] を選択します。 白色のボックス シンボルは既定値であることを示し、黒色のボックス シンボルは通常、ローカル リソースが適用されたことを示します。

    選択したオブジェクトに適したダイログ ボックスが表示されます。 ブラシからリソースを作成するときには、次のダイアログ ボックスが表示されます。

    Create Resource Dialog Box

  3. [名前 (キー)] ボックスに、キー名を入力します。 これは、他の要素からリソースを参照するときに使用できる名前です。

  4. [定義先] で、リソースを定義する場所を指定するオプションを選択します。

    • リソースをアプリケーション内の任意のドキュメントで使用できるようにするには、[アプリケーション] を選択します。

    • リソースを現在のドキュメントでのみ使用できるようにするには、[このドキュメント] を選択します。

    • リソースを作成元の要素またはその子要素でのみ使用できるようにするには、[このドキュメント] を選択し、ドロップダウン リストで [要素: 名前] を選択します。

    • 他のプロジェクトで再利用できるリソース ディクショナリ ファイルにリソースを定義する場合は、[リソース ディクショナリ] をクリックします。 その後、ドロップダウン リストで既存のリソース ディクショナリ ファイル (StandardStyles.xaml など) を選択します。

  5. [OK] をクリックします。リソースが作成され、作成元の要素に適用されます。

要素またはプロパティにリソースを適用する

  1. [ドキュメント アウトライン] ウィンドウで、リソースを適用する先の要素を選択します。

  2. 次のいずれかを実行します。

    • リソースをプロパティに適用します。 [プロパティ] ウィンドウで、プロパティ値の横にあるプロパティ マーカーを選択し、[ローカル リソース] または [システム リソース] を選択した後、表示される一覧から使用可能なリソースを選択します。

      表示されるはずのリソースが表示されない場合は、リソースの種類がプロパティの種類と一致していない可能性があります。

    • スタイルまたはコントロール テンプレート リソースをコントロールに適用します。 [ドキュメント アウトライン] ウィンドウでコントロールの右クリック メニュー (コンテキスト メニュー) を開き、[テンプレートの編集] または [追加テンプレートの編集] を選択し、[リソースの適用] を選択した後、表示される一覧からコントロール テンプレートの名前を選択します。

      Note

      [テンプレートの編集] はコントロール テンプレートを適用します。 [追加テンプレートの編集] は、その他の種類のテンプレートを適用します。

      リソースは互換性があれば適用できます。 たとえば、ブラシ リソースは TextBox コントロールの [Foreground] プロパティに適用できます。

リソースを編集する

  1. アートボードまたは [ドキュメント アウトライン] ウィンドウで要素を選択します。

  2. [プロパティ] ウィンドウで、プロパティの右側にある既定またはローカルのプロパティ マーカーを選択し、[リソースの編集] を選択して [リソースの編集] ダイアログ ボックスを開きます。

  3. リソースのオプションを変更します。