wpf - WPF 中 DataTemplate 或 HierarchicalDataTemplate 的 DataType 属性的格式是什么?
问题描述
我试图了解 DataTemplate 或 HierarchicalDataTemplate 的 DataType 参数的格式。互联网上散布着很多示例,我可以复制并开始工作,但我不明白我的选择是什么。
例如:
<DataTemplate DataType="{x:Type model:DepartmentSelectionViewModel}">
我想了解 x:Type 的含义。以及什么 model:DepartmentSelectionViewModel 是什么意思。
或者:
<HierarchicalDataTemplate DataType="{x:Type r:NetworkViewModel}" ItemsSource="{Binding Children}">
同样,它有 x:Type。但这次是 r:NetworkViewModel。
其他示例将具有 sys: 或 local:。所有这些设置是什么意思?我怎样才能发现存在哪些其他设置?(设置甚至是描述它们的正确词吗?)
解决方案
model
并r
参考XAML 命名空间映射。
这些通常在根标记或 XAML 文件中找到,并定义 CLR 命名空间,其中分别定义了类型(类)DepartmentSelectionViewModel
和:NetworkViewModel
<Window ... xmlns:model="clr-namespace:Project1" ... />
namespace Project1
{
public class DepartmentSelectionViewModel { ... }
}
您可以根据需要定义任意数量的命名空间映射。
x:Type
指将应用隐式DataTemplate的类型,即在呈现视图时DataTemplate
将DataType
属性设置为的{x:Type model:DepartmentSelectionViewModel}
将应用于集合中的所有DepartmentSelectionViewModel
对象。Items
TreeView
推荐阅读
- java - 用 jpql 过滤 redis 数据不起作用
- html - 在开发工具中找不到 CSS 颜色
- vb.net - VB 中的“MailTo”和 Windows 10 邮件客户端
- javascript - 在 Google Analytics 中转换数据类型电子商务变量?
- html - 当我将鼠标悬停在“行星”菜单上时,没有显示下拉菜单?
- mysql - MySQL查询有效地返回不包括重复信息的组合行
- flutter - Flutter:“未处理的异常:在构建期间调用了 setState() 或 markNeedsBuild()。” 尝试在当前路由后面的页面上调用 setState()
- r - 将R中的字符串拆分为行和列
- python - 根据用户输入生成唯一数量的问题并将输入收集到列表中
- php - 如何在php的网页中嵌入word文档