Passar propriedade de dependência para a exibição filho

Atualmente, estou criando um controle de usuário no wpf, que consiste em várias 'telas' nas quais o usuário clicará.

Estou tentando fazer isso de uma maneira MVVM relativamente agradável, mas estou com problemas para passar propriedades para cada exibição.

Para cada "tela", criei uma exibição com seu próprio modelo de exibição (por exemplo, View1.xaml, View2.xaml). O principal controle de usuário pode acessar estas visualizações:

<UserControl.Resources>
    <local:ModuleBaseViewModel x:Key="ViewModelDataSource" />
</UserControl.Resources>

<Grid x:Name="LayoutRoot" DataContext="{Binding Source={StaticResource ViewModelDataSource}}">
<Grid Background="#FF054549">
    <local:View1 Visibility="Visible"/>
    <local:View2 Visibility="Hidden"/>
    </Grid>
</Grid>

Agora, tenho algumas propriedades que gostaria de compartilhar entre cada visualização (por exemplo, cor de fundo). Se eu colocar essa propriedade no viewmodel principal de usercontrol, ela será ignorada porque cada view possui seu DataContext definido como seu próprio viewmodel.

Existe uma maneira de passar a propriedade para cada um dos modelos de exibição sem precisar duplicá-la? Ou estou fazendo isso completamente errado?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion