Qual é a melhor maneira de alternar visualizações / controles do usuário no MVVM-light e no WP

Sou relativamente novo no WPF e no MVVM e a coisa mais difícil que encontrei é como simplesmente alternar um controle de usuário ou uma exibição em um aplicativ

o WinForms, para que um controle seja removido, basta dizer this.Parent.Controls.Remove (this);

No WPF, não há controle pai genérico, você teria que convertê-lo para o tipo específico (por exemplo, grade) e depois removê-l

Isto também parece quebrar a arquitetura MVVM. Também tentei modelos de dados e apresentadores de conteúdo, que funcionam bem, exceto pelo fato de não poder alterar o datacontext do código, pois o datacontext é sempre o viewmodellocato

As páginas são a maneira aceitável de fazer isso no WPF agora? E se eu tivesse uma grade com um controle de usuário personalizado e quisesse alterná-la com base em alguma variável no viewModel? Parece que as tarefas mais simples não podem ser realizadas facilmente no WPF.

questionAnswers(1)

yourAnswerToTheQuestion