【发布时间】:2010-07-08 03:20:59
【问题描述】:
我一直在为 UserControls 设置 DataContext,如下所示:
<uc:DepartmentListingView DataContext="{Binding ., Mode=TwoWay}" />
基于sample project by Josh Smith,我正在尝试使用 DataTemplate 和 DataType 完成同样的事情:
<!-- Template applies a DepartmentListingView to an instance of the DepartmentSelectionViewModel class. -->
<DataTemplate DataType="{x:Type model:DepartmentSelectionViewModel}">
<uc:DepartmentListingView />
</DataTemplate>
这很好用,但当然有问题;我认为这可能是由于尝试将多个视图(UserControl)设置为同一个视图模型(?)。在下面的代码中,我现在将上面的相同 viewModel 与同一窗口中的不同视图相关联。
<DataTemplate DataType="{x:Type model:DepartmentSelectionViewModel}">
<uc:ListSubjectHeaderView />
</DataTemplate>
第一个视图的连接方式与我显式设置 DataContext 时相同,但最后一个视图没有绑定,尽管控制台中也没有明显的 DataBinding 错误。
那么,以这种方式重用 DataType / DataTemplate 技巧会是问题吗?
谢谢,
浆果
【问题讨论】:
标签: wpf types datatemplate