多くのアセンブリ (> 100) を含むプロジェクトがあります。これらのアセンブリの多くには、「画像」などのサブフォルダーがあります。たとえば、多くの wpf-windows/user-controls には "\images\close.png" があります。つまり、「close.png」画像が 1 つだけではなく、多数あることを意味します。
今、私はすべての画像/リソースの中心的な場所を作成したいと考えています. 私がしたこと:
- 「abcdeCore.Resources」という新しいクラスライブラリ/アセンブリを作成しました
- 「ImageDictionary.xaml」というリソース辞書を追加しました
- サブフォルダー「Images」を作成しました
- 私の画像をこのサブフォルダーにコピーしました。たとえば、「abcdeCore.Resources\images\close.png」
- イメージのビルド プロパティを「リソース」に設定する
- この「< ImageSource x:Key="Image_close">close.png< /ImageSource>」のように「ImageDictionary.xaml」で画像を宣言しました
このような「close.png」画像を使用したいwpfウィンドウで辞書を使用する
< Window.Resources> < ResourceDictionary Source="pack://application:,,,/abcdeCore.Resources;component/Images/ImageDictionary.xaml"/> < /Window.Resources >
- この < Button>< Image Source="{StaticResource Image_close}">< /Image>< /Button> のように、中央リソース ディクショナリ「ImageDictionary.xaml」で宣言された画像を使用しようとしています。
VSのデザイナーモードでは、画像が表示されていますが、プロジェクトを開始してwpfウィンドウを開くと、次のようなエラーが表示されます
"{"ファイルまたはアセンブリ \"abcdeCore.Resources, Culture=neutral\" またはその依存関係の 1 つが見つかりません。The system can't find the given file.":"abcdceResources, Culture=neutral"} (エラー メッセージをドイツ語から英語に翻訳しました :))
私が何を間違えたのか、なぜ中央のリソースディクショナリーを適切に機能させることができないのか、誰にもわかりませんか? アイデアをありがとう!!!
ドイツからのご挨拶
編集:wpfウィンドウがあるアセンブリに「abcdeCore.Resources」への参照もあります
edit 2: System.Windows.Markup.XamlParseException: Message=RowNumber "7" and RowPosition "10" of "プロパティ "System.Windows.ResourceDictionary.Source" を設定すると例外が発生しました".