0

実行時にいくつかのアセンブリから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 を読み込めません。私はできる限りのことを試みましたが、成功しませんでした。

何か案が?ありがとう!

4

1 に答える 1