问题描述
|
我想在运行时使用
XamlReader
加载DataTemplate,但是它抛出异常\“前缀\'x \'不会映射到名称空间。\”
这是我要传递给XamlReader
的XML字符串:
<xm:ResourceDictionary
xmlns:xm=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"
xmlns:do=\"clr-namespace:MyLibrary.DataObjects;assembly=MyLibrary.DataObjects\"
xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">
<xm:DataTemplate DataType=\"{x:Type do:ValidationResponse}\">
<xm:StackPanel Orientation=\"Horizontal\">
<xm:Label>MessageID</xm:Label>
<xm:TextBox Text=\"{Binding Path=MessageID}\"/>
</xm:StackPanel>
</xm:DataTemplate>
</xm:ResourceDictionary>
这是正在读取的代码:
ResourceDictionary dictionary = XamlReader.Parse(myXamlString) as ResourceDictionary;
这是有趣的部分,如果我在解析的DataTemplate中添加“ 4”,则没有任何异常。但是,我不能保持这种方式,因为我无法通过程序自己的.xaml
(通过在运行时获取模板之前不了解模板)来指定DataTemplate。
程序本身的.xaml
和我要解析的XML片段中都定义了x
名称空间。
总体目标:能够提供新的DataTemplates来在运行时更改显示的外观,并显示客户端在编译时不知道的XML数据。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)