这个URI有什么问题?

时间:2010-07-12 07:21:16

标签: c# wpf

HeJ小鼠

我正在尝试使用Uri在wpf应用程序中加载(嵌入)图像,但我不断收到异常。

代码是:

new BitmapImage(new Uri("pack://application:,,,,/Icons/m.png"));

(如果不清楚,我正在尝试从Icons文件夹中加载m.png文件 已被标记为嵌入式资源)。

,例外是

NotSupportetException (the URI prefix is not recognized)

有人可以告诉我uri应该是什么吗?

2 个答案:

答案 0 :(得分:4)

字符串中必须有三个逗号而不是四个逗号:

new BitmapImage(new Uri("pack://application:,,,/LibName;component/Icons/m.png"));

LibName - 指向托管资源的程序集。

答案 1 :(得分:2)

您可以查看this blog post。解决方案是注册一个自定义uri解析器,以便它识别pack协议:

UriParser.Register(
    new GenericUriParser(GenericUriParserOptions.GenericAuthority), "pack", -1
);