0
我有一个WPF应用程序正在构建。该解决方案包含一个名为CustomControls的WPF控件库项目。 CustomControls项目文件夹下有一个名为Layouts的文件夹。该文件夹中有一个名为OnscreenLayout.xml的XML文件。该文件的Build Action属性设置为Embedded Resource。无法获取包Uri的工作
我想将该文件加载到代码后面的流中,并将流传递给第三方库类的方法。有问题的代码如下所示:
OnscreenKeyboard.DefaultLayout = FPS.VirtualKeyboard.KeyboardLayout.Create(
App.GetResourceStream(
new Uri(@"/CustomControls;component/Layouts/OnscreenLayout.xml",
UriKind.Relative)).Stream);
运行此代码时,它抛出IOException与消息
Cannot locate resource 'layouts/onscreenlayout.xml'.
我一直在使用这个字符串开放的我们甚至尝试:
@"pack://application:,,,/CustomControls;component/Layouts/OnscreenLayout.xml"
但没有喜悦。我究竟做错了什么?
编辑:我甚至尝试将文件的构建操作从“嵌入式资源”更改为“资源”,但它仍然无效。
感谢
托尼
您是否尝试过使用反射器或类似的东西来检查装配中的资源,以及它们是如何命名的?一般来说,包装网址和“资源”构建行动,然后它的工作。 – 2012-03-23 16:05:53
@MartinMoser:是的,我已经完成了。 Uri对我来说很合适。我很茫然。 – 2012-03-23 17:42:19
这不只是'.xaml'而不是'.xml'? – Phil 2012-03-23 17:48:08