Я относительно новичок в WPF и MVVM, и самая сложная вещь, которую я нашел, - это просто переключить пользовательское управление или представление в приложении.
В winforms, чтобы удалить элемент управления, вы просто скажете это. Parent.Controls.Remove(this);
В WPF нет общего родительского элемента управления, вам придется придать ему тип к определенному типу (т.е. сетке), а затем удалить его.
Это также, похоже, нарушает архитектуру MVVM. Я также попробовал шаблоны данных и презентаторов контента, которые хорошо работают, за исключением того факта, что я не могу изменить datacontext из кода, поскольку datacontext всегда является viewmodellocator.
Являются ли страницы приемлемым способом сделать это в WPF сейчас? Что, если бы у меня была сетка с пользовательским usecontrol, и я хотел переключить ее на основе некоторой переменной в viewModel? Похоже, что простейшие задачи не могут быть легко выполнены в WPF.