我在主解决方案中有Content目录。 在内容目录中,我有两个目录:ViewModels和Views
在XAML中,我声明了:
xmlns:vm ="clr-namespace:AppName.Content"
现在,我希望在ViewModel目录中引用一些类:
<DataTemplate DataType="{x:Type vm:LaserPathViewModel}">
我知道这是错误的,因为LaserPathViewModel的命名空间是AppName.Content.ViewModels。
但是如何在不添加下一个名称空间声明的情况下获取此引用?
答案 0 :(得分:0)
你没有。您必须声明其他命名空间。一种方法是添加另一个名称空间声明:
xmlns:vm2 ="clr-namespace:AppName.Content.ViewModel"
然后你可以像这样使用它:
<DataTemplate DataType="{x:Type vm2:LaserPathViewModel}">
但还有另一种声明命名空间的方法。您可以使用XmlnsAttribute
,它允许您将多个.NET命名空间映射到一个X(A)ML命名空间。你可以找到一些很好的解释here。