Use a ligação para alterar o controle do usuário em uma grade

Estou criando um aplicativo WPF, que possui uma tela principal na qual outras telas são carregadas.

A tela principal pode ser vista como um modelo de cabeçalho / rodapé, onde a parte central é substituída, dependendo do que eu preciso mostrar naquele momento. (É uma grade de 3 linhas onde ousercontrol deve ser colocado na linha 1). Isso tem umviewmodel isso está alterando o status do cabeçalho / rodapé.

Eu implementei essas partes em mudança (linha 1) como controles do usuário.

Agora estou me perguntando se existe alguma maneira de usar a ligação (para alguma coisa ..) para que eu possa alterar ousercontrol e não fazê-lo do código para trás, como faço agora.

Se isso for completamente contrário aos princípios do MVVM, por favor, dê-me dicas de como devo lidar com isso.

Obrigado!!

questionAnswers(1)

yourAnswerToTheQuestion