我无法使用Markup.XamlReader.Load方法打开带有自定义命名空间的.xaml文件。我喜欢这个:
stream = openFileDialog1.OpenFile();
System.Windows.Markup.ParserContext parserContext = new System.Windows.Markup.ParserContext();
parserContext.XmlnsDictionary.Add("", "http://schemas.microsoft.com/winfx/2006/xaml/presentation");
parserContext.XmlnsDictionary.Add("x", "http://schemas.microsoft.com/winfx/2006/xaml");
parserContext.XmlnsDictionary.Add("ex", "clr-namespace=Extensions;assembly=Extensions");
viewport = System.Windows.Markup.XamlReader.Load(stream, parserContext) as Viewport3D;
我在程序集中有以下DependencyProperty;
namespace Extensions
{
public class Ext
{
public static DependencyProperty NameProperty = DependencyProperty.RegisterAttached("Name", typeof(string), typeof(Ext));
public static string GetName(DependencyObject target)
{
return (string)target.GetValue(NameProperty);
}
public static void SetName(DependencyObject target, string name)
{
target.SetValue(NameProperty, name);
}
}
}
我的问题是我在XamlReader.Load方法中得到一个XamlParseException告诉我:无法设置未知成员{clr-namespace = Extensions; assembly = Extensions} Name。
.xaml文件中的“unkown member”设置为ModelVisual3D对象,如下所示:
我能找到关于这个错误的所有建议我做我已经尝试过的事情。请帮帮我!