我定义了一个假视图模型,供 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,但后来 Designer 尝试从 Visual Studio 应用程序文件夹加载图像。
我看到了一个类似的问题描述here