0

次のコードを使用して ResourceDictionary を作成しようとしています

        var rd = new ResourceDictionary
        {
            Source = new Uri(settings.TemplateLocation + templateName + ".xaml")
        };

ただし、これを実行しようとすると、「ResourceDictionary LoadFrom 操作が URI:{上記の場所} で失敗しました」という例外が発生します。ClassLibrary プロジェクトからこれを実行しようとしています。

サンプル WPF アプリケーションから同じ場所を使用して ResourceDictionary を作成しようとしたとき、例外は発生せず、正常に機能しました。

何が起こっているのでしょうか?この質問に答えるためにもっと情報が必要な人がいたら教えてください。

4

1 に答える 1

0

ResourceDictionaryプロジェクトで参照しているクラス ライブラリからロードしている場合は、次を使用します。

     Source = new Uri("pack://application:,,,/ReferencedAssembly;component/SubFolder/ResourceFile.xaml", UriKind.Absolute);

ここではReferencedAssembly、参照アセンブリ名、ファイルSubFolderを含む参照アセンブリ プロジェクト内のフォルダーの名前に置き換える必要があります。Subfolderファイルがルートに配置されているかどうか、およびResourceFile.xamlファイル名を指定する必要はありません。

于 2013-10-24T04:19:32.643 に答える