0

設計時に WPF アプリケーションのビューで使用される偽のビュー モデルを定義しました (Visual Studio 2012、.NET 4.5)。ビュー モデルは、プロジェクト コンテンツの一部である画像を参照します。イメージをルート プロジェクト フォルダーに配置している限り、次の URI 規則を使用して設計時に正常に読み込まれます。

var Image = new BitmapImage(
new Uri(@"pack://application:,,,/MyAppAssemblyName;component/MyImage.png"));

画像は埋め込みリソースとしてマークされています (実際にコンテンツとしてマークしようとしたところ、問題なく読み込まれました)。

しかし、Sample プロジェクトのサブフォルダーから使用したいので、上記のコードを次のように変更しました。

var Image = new BitmapImage(
new Uri(@"pack://application:,,,/MyAppAssemblyName;component/Samples/MyImage.png"));

その後、動作を停止します。何を試しても (コンテンツ、埋め込みリソースなど)、プロジェクトの Samples サブフォルダーから何も読み込まれません。設計時の例は見つけられませんでしたが、サブフォルダーを使用するさまざまな例を目にするので、これは非常に奇妙です。パック スキーム siteoforigin も使用しようとしましたが、デザイナーは Visual Studio アプリケーション フォルダーから画像を読み込もうとします。

ここで説明されている同様の問題を見ました

4

1 に答える 1

0

ようやく手に入れたと思ったのですが、問題は文字のケーシングにありました。これが私のプロジェクト構造です:

MyProject - サンプル - MyImage.png

次の URI が機能します。

pack://application:,,,/MyProject;component/samples/MyImage.png

これらはしません:

pack://application:,,,/MyProject;component/Samples/MyImage.png
pack://application:,,,/MyProject;component/samples/myimage.png

更新します。Microsoft フォーラムからのアドバイスの後、URI を変更するたびに Visual Studio を再起動するテストをさらに行いましたが、上記の私の理論は間違っているようです。文字の大文字と小文字は関係ありません (3 つのバージョンはすべて機能しました) が、VS Designer が最新の変更に追いつかない場合があり、デザイナーが最後の変更を使用するには VS の再起動が必要です。

于 2013-03-27T07:32:38.787 に答える