次の方法で共有


Blend でリソースを移動、コピー、またはエクスポートする

Blend for Visual Studio アプリケーションでは、リソースを異なるスコープで定義できるので、アプリケーションでリソースを使用できるスコープを広げたり制限したりする場合は、既存のリソースを移動しなければならないことがあります。 たとえば、オブジェクト レベルで定義したリソースをアプリケーション全体で使用できるようにする場合は、リソースを App.xaml ファイルに移動します。 リソースを別のアプリケーションにエクスポートする場合は、リソースを外部のリソース ディクショナリに移動してもかまいません。

注意

リソース (スタイルやコントロール テンプレートなど) の中には、追加リソース (ブラシ リソースや色リソースなど) を使用するものがあります。Blend では、リソースを移動またはコピーするときに、移動先またはコピー先のスコープ内でそれらのキー名を解決できない場合、追加のリソースが移動されます。移動先またはコピー先のリソースが重複する名前を持つ場合は、ダイアログ ボックスが表示され、既存のリソースを上書きする、別の名前の新しいリソースを作成して参照を更新する、または既存のリソースを使用するのいずれかを選択できます。

リソースが追加システム リソースを参照している場合、システム リソースは常に使用可能なのでコピーされません。

リソースのエクスポート

リソースは、別のプロジェクトにアイテムとして追加できるリソース ディクショナリ ファイルに入れてエクスポートできます。

リソースをエクスポートするには

  1. リソースのエクスポート先のリソース ディクショナリがない場合は、[リソース] パネルの [新しいリソース ディクショナリの作成] JJ170411.35c35d1d-ac87-42f7-adc4-d620dbe60297(ja-jp,VS.120).png をクリックします。

    [新しいアイテム] ダイアログ ボックスが表示されます。

  2. リソース ディクショナリの名前を入力し、[OK] をクリックします。

    新しいリソース ディクショナリが、[プロジェクト] パネルに新しいファイルとして追加され、[リソース] パネルにリソースのコンテナーとして表示されます。

    これで、次の手順を使用して、リソースを新しいリソース ディクショナリに移動できます。 さらに、新しいリソースを作成するときに、[新しいリソースの作成] ダイアログ ボックスの [定義先] セクションで新しいリソース ディクショナリを選択できます。

リソースを移動するには

  1. [リソース] パネルで、リソース コンテナー ノードを展開して、移動するリソースを見つけます。

    • アプリケーション レベルのリソースの一覧は、App.xaml ノードに表示されます。

    • ディクショナリ レベルのリソースの一覧は、リソース ディクショナリ ファイル名で示されるノードの下に表示されます。

    • ドキュメント レベルのリソースの一覧は、ドキュメントのルート要素名で示されるノードの下に表示されます (たとえば、[Window1.xaml] を展開し、次に [Window] を展開します)。

    • オブジェクト レベルのリソースの一覧は、オブジェクト名で示されるノードの下に表示されます。

  2. マウスを使用して、移動するリソースをクリックし、新しい場所までドラッグします。 リソースを別のプロジェクトにエクスポートする場合は、リソースをディクショナリ ファイルに移動します。

リソースをコピーするには

  1. [リソース] パネルで、リソース コンテナー ノードを展開して、移動するリソースを見つけます。

    • アプリケーション レベルのリソースの一覧は、App.xaml ノードに表示されます。

    • ディクショナリ レベルのリソースの一覧は、リソース ディクショナリ ファイル名で示されるノードの下に表示されます。

    • ドキュメント レベルのリソースの一覧は、ドキュメントのルート要素名で示されるノードの下に表示されます (たとえば、[Window1.xaml] を展開し、次に [Window] を展開します)。

    • オブジェクト レベルのリソースの一覧は、オブジェクト名で示されるノードの下に表示されます。

  2. リソース名を右クリックし、[コピー] をクリックします。

  3. リソースのコピー先の場所を右クリックし、[貼り付け] をクリックします。

    注意

    同じプロジェクトに同じ名前のリソースが 2 つある場合、コントロールに間違ったリソースを適用すると、アートボードで予期しない結果が発生することがあります。この問題を避けるために、コピー後に元のリソースまたはコピーしたリソースの名前を変更してください。リソースの名前を変更する方法の詳細については、「リソース名の変更」を参照してください。