我需要在视图中有一个引用ViewModel类的命名空间。我可以引用包含ViewModels的文件夹:
xmlns:vm="clr-namespace:MyApp.ViewModels"
但是如何进入该文件夹中的特定类?即。
xmlns:articlevm="clr-namespace:MyApp.ViewModels.ArticleViewModel"
基本上我想在HierarchicalDataTemplate中引用一个类型:
<HierarchicalDataTemplate DataType="{x:Type articlevm:ArticlesList}"
答案 0 :(得分:3)
请注意,“项目文件夹”只是一个设计时构造,默认是如何构建namespace
的。您实际需要的是namespace
,而不是项目文件夹。这可能很重要,因为不仅可以将class
完全放在与namespace
不对应的文件夹中,文件夹在编译后也不存在。
正如exmaple所指出的,xmlns
指的是namespace
- 实际上指的是该类在代码中涉及ns:Class
。认为xmlns
与using
指令类似。
如果您尝试引用子类(在另一个class
内定义的class
),则使用+
- 所以如果ArticleList
是{{1}在class
ArticleViewModel
如果您引用其他程序集中的xmlns:vm="clr-namespace:MyApp.ViewModels"
...
vm:ArticleViewModel+ArticleList
,则需要将其添加到namespace
- 因此
xmlns
答案 1 :(得分:1)
xmlns:vm="clr-namespace:sometext.ViewModel"
。 。
<Window.DataContext>
<vm:MainViewModel />
</Window.DataContext>