Как я могу изменить viewModel динамически, если у меня есть одна viewModel для каждого пользовательского элемента управления - PullRequest
0 голосов
/ 11 ноября 2018

В главном окне это мой контекст данных

DataContext="{Binding Source={StaticResource VMLocator}, Path=MainVM}"

и это моя сетка

<Grid>
    <ContentControl Content="{Binding}" Style="{StaticResource ChatContentStyle}"/>
</Grid>

и вот как я их переключаю

<DataTemplate x:Key="LoginTemplate">
    <views:LoginView/>
</DataTemplate>
<DataTemplate x:Key="ChatTemplate">
    <views:ChatView/>
</DataTemplate>

<Style x:Key="ChatContentStyle" TargetType="ContentControl">
    <Setter Property="ContentTemplate" Value="{StaticResource LoginTemplate}"/>
    <Style.Triggers>
        <DataTrigger Binding="{Binding UserMode}" Value="{x:Static enums:UserModes.Chat}">
            <Setter Property="ContentTemplate" Value="{StaticResource ChatTemplate}"/>
        </DataTrigger>
    </Style.Triggers>
</Style>

Я хочу изменить viewModel точно так же, как я меняю представление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...