我正在编写一个WPF用户控件库,但我正在尝试通过某些XAML访问资源映像。只是为了好玩,图像在设计时按预期显示,并且仅在运行时失败。
我已经尝试将构建操作设置为“无”,“内容”,“资源”和“嵌入资源”,但我不断得到以下神秘异常:
'提供价值 'System.Windows.Baml2006.TypeConverterMarkupExtension'扔了一个 例外。'行号'18'和行位置'6'。
查看内部异常,它似乎是包URI的问题。当我尝试:
<ImageBrush x:Key="mybrush" ImageSource="pack://application:,,,/Resources/an image.png" />
我明白了:
Assembly.GetEntryAssembly()返回null。
好的,这可能是因为我的库现在是从另一个程序集中调用的。但是当我按照the recommendations并尝试:
时<ImageBrush x:Key="mybrush" ImageSource="pack://application:,,,my_assembly;component;/Resources/an image.png" />
我得到了一个内在的例外:
“无法识别URI前缀。”
为了增加乐趣,我有另一个图像资源,我可以通过实际的C#代码访问(即不通过XAML)。
我做错了什么?感觉它会非常简单,但此刻我正在寻找头脑。
答案 0 :(得分:1)
将ImageSource更改为
ImageSource="pack://application:,,,/my_assembly;component/Resources/your_image.png"