【发布时间】:2010-03-14 21:41:22
【问题描述】:
我可以说一个 WeeklyViewUserControl.xaml 和一个 DailyViewUserControl.xaml。
通常我使用这样的东西来切换内容:
<DataTemplate DataType="{x:Type ViewModel:LessonPlannerViewModel}">
<View:LessonPlannerDailyUC/>
</DataTemplate>
到目前为止,这很有效。但是现在我仍然有 WeeklyViewUC,它使用了 90% 的 LessonPlannerViewModel 代码,所以我想另外做这个:
<DataTemplate DataType="{x:Type ViewModel:LessonPlannerViewModel}">
<View:LessonPlannerWeeklyUC/>
</DataTemplate>
但这行不通,因为 ContentControl 是从哪里来的
知道 VM (LessonPlannerViewModel) 应该显示 DailyViewUC 或 WeeklyViewUC 吗?
<ContentControl Content="{Binding VM}" />
这是我的进一步场景:
DailyViewUC 有一个“周视图”按钮,它通过 Command="{...}" 执行到 LessonPlannerViewModel 中的命令。
WeeklyViewUC 有一个“每日视图”按钮...
根据按下的按钮,数据模板应该以某种方式选择适当的用户控件来显示!
我该怎么做?
【问题讨论】:
标签: wpf mvvm user-controls selection