Xmlns 到项目文件夹中的 Class?
Xmlns to a Class Within a Project Folder?
我需要在我的视图中有一个引用 ViewModel class 的命名空间。我可以引用包含 ViewModels 的文件夹:
xmlns:vm="clr-namespace:MyApp.ViewModels"
但是我如何才能到达该文件夹中的特定 class?即
xmlns:articlevm="clr-namespace:MyApp.ViewModels.ArticleViewModel"
基本上我想在 HierarchicalDataTemplate 中引用一个类型:
<HierarchicalDataTemplate DataType="{x:Type articlevm:ArticlesList}"
xmlns:vm="clr-namespace:sometext.ViewModel"
。
.
.
<Window.DataContext>
<vm:MainViewModel />
</Window.DataContext>
请注意,"Project Folders" 只是一个设计时构造,默认 namespace
的构造方式。您实际要查找的是 namespace
,而不是项目文件夹。这可能很重要,因为不仅完全有可能将 class
放置在与其所在文件夹不对应的 namespace
中,而且这些文件夹在编译后也不存在。
正如示例所指出的,xmlns
指的是 namespace
- 实际上指的是 class 在代码中涉及 ns:Class
。将 xmlns
视为类似于 using
指令。
如果你试图引用一个子class(在另一个class
中定义的class
)你使用+
- 所以如果ArticleList
是 ArticleViewModel
中的 class
xmlns:vm="clr-namespace:MyApp.ViewModels"
...
vm:ArticleViewModel+ArticleList
如果您从另一个程序集引用 namespace
,则需要将其添加到 xmlns
- 因此
xmlns:ns="clr-namespace:MyApp.ViewModels;assembly=MyApp"
我需要在我的视图中有一个引用 ViewModel class 的命名空间。我可以引用包含 ViewModels 的文件夹:
xmlns:vm="clr-namespace:MyApp.ViewModels"
但是我如何才能到达该文件夹中的特定 class?即
xmlns:articlevm="clr-namespace:MyApp.ViewModels.ArticleViewModel"
基本上我想在 HierarchicalDataTemplate 中引用一个类型:
<HierarchicalDataTemplate DataType="{x:Type articlevm:ArticlesList}"
xmlns:vm="clr-namespace:sometext.ViewModel"
。 . .
<Window.DataContext>
<vm:MainViewModel />
</Window.DataContext>
请注意,"Project Folders" 只是一个设计时构造,默认 namespace
的构造方式。您实际要查找的是 namespace
,而不是项目文件夹。这可能很重要,因为不仅完全有可能将 class
放置在与其所在文件夹不对应的 namespace
中,而且这些文件夹在编译后也不存在。
正如示例所指出的,xmlns
指的是 namespace
- 实际上指的是 class 在代码中涉及 ns:Class
。将 xmlns
视为类似于 using
指令。
如果你试图引用一个子class(在另一个class
中定义的class
)你使用+
- 所以如果ArticleList
是 ArticleViewModel
class
xmlns:vm="clr-namespace:MyApp.ViewModels"
...
vm:ArticleViewModel+ArticleList
如果您从另一个程序集引用 namespace
,则需要将其添加到 xmlns
- 因此
xmlns:ns="clr-namespace:MyApp.ViewModels;assembly=MyApp"