【发布时间】:2013-05-16 16:46:24
【问题描述】:
在我开始使用Caliburn.Micro 的项目中。
现在我想将一个大的UserControl 拆分成几个小的UserControls,这样我就可以在DataTemplates 中使用它们。 EisenbergEffect 建议这样做in this answer
ViewModels 已经存在,因为我将分层数据建模为ObservableCollection<SubViewModel>。
现在我想我只需要为SubViewModels 的UserControls 创建西装Views。
我的视图是主从视图。我想显示计算机列表,并在详细信息视图中显示这些计算机的 HardwareComponents。
<ListView x:Name="ComputerViewModels">
<ListView.ItemTemplate>
<DataTemplate>
<ContentControl x:Name="HardwareComponentViewModel" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我已按照此处的建议包含调试输出:Debug Logging
我没有得到任何关于我的 HardwareComponentViewModel 的输出,除了
Action Convention Not Applied: No actionable element for set_HardwareComponentViewModel
在创建 ComputerViewModel 时已经创建了 HardwareComponentViewModel。
我已经在应用程序的其他部分使用了ContentControl - 方式,它在那里运行良好(使用注入外部 ViewModel 的 IOC 获取 Content)。
但它似乎不适合 DataTemplate 部分(不过这并不令人惊讶)。 SubViewModel 派生自 Screen,作为外部 ViewModel。
如何将新的 UserControl 用作 DataTemplate?
【问题讨论】:
标签: c# wpf user-controls datatemplate caliburn.micro