Недавно я просматривал код Джоша Смита (из его известной статьи MVVM), и я пытался создать следующую программу его идеальный шаблон MVVM.WPF - Как связать ViewModel с представлением с параметрами в XAML
Теперь вот проблема, в проекте MainWindowResources проекта Джоша Смита, он привязывает представление к (просто используя произвольное имя здесь) ExampleViewModel, поэтому TabControl (workspaces) показывает ExampleView, а не только .ToString() ExampleViewModel , Пример:
<DataTemplate DataType="{x:Type vm:ExampleViewModel}">
<vw:ExampleView />
</DataTemplate>
Обычно этот кусок кода будет работать, если представление не принимает никаких параметров. Но для этого проекта я беру в ViewModel в параметрах режима представления конструктора:
public ExampleView(ExampleViewModel viewModel)
{
InitializeComponent();
DataContext = viewModel;
}
Так что теперь, я на стенде still- этого типа привязки позволяет только для параметра менее конструкторах.
Итак, как мне обойти эту проблему, сохраняя привязку вида к ViewModel, в котором у указанного представления есть параметры конструктора?
Есть много вопросов уже на переполнение стека, связанные с общим использованием MVVM, в том числе те, которые обсуждают получение вокруг ограничения того, что вы не можете указывать параметры для конструкторов при связывании в XAML, например, тот, который я предоставил как дублируемую ссылку. –
@PeterDuniho добавленная ссылка наверху не отвечает на этот вопрос. Но я согласен, что есть много вопросов, касающихся аспектов MVVM. –
Я предполагаю, что вы не поняли мой вопрос, поэтому я буду считать, что мой вопрос НЕ является дубликатом, пока вы не дадите мне соответствующую ссылку с правильным ответом на мой конкретный вопрос. –