1

我正在编写一个 WPF 用户控件库,并且在尝试通过某些 XAML 访问的资源图像时遇到问题。只是为了好玩,图像在设计时按预期显示,仅在运行时失败。

我尝试将构建操作设置为“无”、“内容”、“资源”和“嵌入式资源”,但我不断收到以下神秘异常:

'在 'System.Windows.Baml2006.TypeConverterMarkupExtension' 上提供值引发了异常。' 行号“18”和行位置“6”。

查看内部异常,似乎是pack URI的问题。当我尝试:

<ImageBrush x:Key="mybrush" ImageSource="pack://application:,,,/Resources/an image.png" />

我得到:

Assembly.GetEntryAssembly() 返回 null。

好的,所以这可能是因为我的库现在正在从另一个程序集中调用。但是当我遵循建议并尝试时:

<ImageBrush x:Key="mybrush" ImageSource="pack://application:,,,my_assembly;component;/Resources/an image.png" />

我得到一个内部异常:

“无法识别 URI 前缀。”

为了增加乐趣,我有另一个图像资源,通过实际的 C# 代码(即不通过 XAML)访问它没有问题。

我究竟做错了什么?感觉它会很简单,但现在是主管。

4

1 回答 1

2

将 ImageSource 更改为

ImageSource="pack://application:,,,/my_assembly;component/Resources/your_image.p‌​ng"
于 2014-01-17T14:43:23.963 回答