1

複数のアプリケーションでリソースディクショナリを使用する方法はありますか?私が持っているのは、マージされた辞書などを使用するテーマジェネレータです...素晴らしい作品です!リソースディクショナリのこのプロジェクトをすべてのアプリケーションに参照する方法を探しています。(したがって、すべてのファイル>新規にテーマエンジンを作成することにしました)これまでのところ、私の調査では何も得られませんでした。

4

1 に答える 1

1

さて、パックURI構文を使用して、アプリケーションAからリソースディクショナリを取得し、アプリケーションBで使用できることがわかりました。

最初にクラスライブラリを作成し、デフォルトのclass1.csを削除しました。次に、新しいアイテムを追加しました(.xamlファイルのオプションがなかったため、.xmlファイルを追加し、拡張子を変更しました)。次に、リソースディクショナリコードをそのファイルに移動しました。他の場合と同じように新しい.dllを参照しました。これで、以下の構文を使用してリソースディクショナリファイルにアクセスできます。

<ResourceDictionary Source = "pack://application:,,,/App_A;Component/App_A_ResourceDictionary.xaml"/>

ファイルを交換するときは、同じ構文で「pack://application,,,」の部分のみを省略します。これは私が望んでいたすべてではありませんでしたが(これまでのところ)、私が見つけた最良の解決策でした。

今私が欲しいのは、.dll内にスワッピングロジックを格納する機能です。私がそれを行うことができれば...私のテーマライブラリは、最小限の手間で任意のアプリへのPnPにすることができます。

于 2013-03-13T01:05:41.490 に答える