У меня есть, скажем, 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
знаете, что виртуальная машина (LessonPlannerViewModel) должна отображать DailyViewUC или WeeklyViewUC?
<ContentControl Content="{Binding VM}" />
Это мой дальнейший сценарий:
DailyViewUC имеет кнопку «Просмотр недели», которая выполняется с помощью Command = "{...}" для команды в LessonPlannerViewModel.
В WeeklyViewUC есть кнопка «Ежедневный просмотр» ...
В зависимости от того, какая кнопка нажата, табличка данных должна каким-то образом выбрать соответствующий UserControl для отображения!
Как я могу это сделать?