Xmlns到项目文件夹中的类?

时间:2015-03-12 14:27:25

标签: c# wpf xaml mvvm

我需要在视图中有一个引用ViewModel类的命名空间。我可以引用包含ViewModels的文件夹:

 xmlns:vm="clr-namespace:MyApp.ViewModels"

但是如何进入该文件夹中的特定类?即。

xmlns:articlevm="clr-namespace:MyApp.ViewModels.ArticleViewModel"

基本上我想在HierarchicalDataTemplate中引用一个类型:

<HierarchicalDataTemplate  DataType="{x:Type articlevm:ArticlesList}"

2 个答案:

答案 0 :(得分:3)

请注意,“项目文件夹”只是一个设计时构造,默认是如何构建namespace的。您实际需要的是namespace,而不是项目文件夹。这可能很重要,因为不仅可以将class完全放在与namespace不对应的文件夹中,文件夹在编译后也不存在。

正如exmaple所指出的,xmlns指的是namespace - 实际上指的是该类在代码中涉及ns:Class。认为xmlnsusing指令类似。

如果您尝试引用子类(在另一个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>