WPF 中 DataTemplate 或 HierarchicalDataTemplate 的 DataType 属性 的格式是什么?
What is the format of the DataType property for a DataTemplate or HierarchicalDataTemplate in WPF?
我想了解 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 namespace mappings。
这些通常在根标记或 XAML 文件中找到,并定义在其中定义类型 (类) DepartmentSelectionViewModel
和 NetworkViewModel
的 CLR 命名空间分别是:
<Window ... xmlns:model="clr-namespace:Project1" ... />
namespace Project1
{
public class DepartmentSelectionViewModel { ... }
}
您可以根据需要定义任意数量的命名空间映射。
x:Type
指的是将应用隐式 DataTemplate 的类型,即 DataTemplate
和 DataType
属性 设置为 [=呈现视图时,19=] 将应用于 TreeView
的 Items
集合中的所有 DepartmentSelectionViewModel
对象。
我想了解 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 namespace mappings。
这些通常在根标记或 XAML 文件中找到,并定义在其中定义类型 (类) DepartmentSelectionViewModel
和 NetworkViewModel
的 CLR 命名空间分别是:
<Window ... xmlns:model="clr-namespace:Project1" ... />
namespace Project1
{
public class DepartmentSelectionViewModel { ... }
}
您可以根据需要定义任意数量的命名空间映射。
x:Type
指的是将应用隐式 DataTemplate 的类型,即 DataTemplate
和 DataType
属性 设置为 [=呈现视图时,19=] 将应用于 TreeView
的 Items
集合中的所有 DepartmentSelectionViewModel
对象。