在我开始使用的项目中Caliburn.Micro
。
现在我想把一个大的拆分UserControl
成几个小UserControls
的,这样我就可以在里面使用它们了DataTemplates
。EisenbergEffect 建议在这个答案中这样做
因为ViewModels
我将分层数据建模为ObservableCollection<SubViewModel>
.
现在我想我只需要Views
为UserControls
那些SubViewModels
.
我的视图是主从视图。我想提供一个计算机列表,在详细信息视图中我想拥有这些计算机的 HardwareComponents。
<ListView x:Name="ComputerViewModels">
<ListView.ItemTemplate>
<DataTemplate>
<ContentControl x:Name="HardwareComponentViewModel" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我已经按照此处的建议包含了调试输出:调试日志记录
而且我没有得到任何关于我的 HardwareComponentViewModel 的输出,除了
Action Convention Not Applied: No actionable element for set_HardwareComponentViewModel
HardwareComponentViewModels 在创建 ComputerViewModels 时已经创建。
我已经ContentControl
在应用程序的其他部分使用了 - 方式,并且它在那里工作得很好(将Content
using IOC 注入到外部 ViewModel 中)。但它似乎不适合 DataTemplate 部分(不过这并不令人惊讶)。SubViewModels 派生自Screen
, 作为外部 ViewModels。
如何将新的 UserControl 用作 DataTemplate?