実行時にいくつかのアセンブリからResourceDictionaryをロードする必要があります。
最初に ResourceDictionary のBuildActionをPageに設定し、コードを使用して uri を構築します。
var uri = new Uri(string.Format(@"/{0};component\Resources\MyResource.xaml",
assemblyName), UriKind.RelativeOrAbsolute);
それは機能しますが、URI を ResourceDictionary に設定する前に、アセンブリを確認する必要があることに気付きました。ResourceDictionary がアセンブリにない場合、例外がスローされるためです。
var rd = new ResourceDictionary
{
Source = uri
};
したがって、以下のコードを使用してアセンブリ内の ResourceDictionary を表示するために、 ResourceDictionary の BuildAction をEmbeddedResourceに設定します。
var hasResource = assembly.GetManifestResourceNames().
Any(resourceName => resourceName.EndsWith("MyResource.xaml"));
しかし今、uri で ResourceDictionary を読み込めません。私はできる限りのことを試みましたが、成功しませんでした。
何か案が?ありがとう!