Windows Template Studio MVVML облегчает доступ к ViewModel со страницы сведений

Я использую Windows Template Studio V3.0 для создания приложения UWP с использованием MVVMLight, который реализует страницу Master/Detail. Я уверен, что собираюсь пнуть себя, но я не могу понять, как получить доступ к ViewModel со страницы Подробности. Мне нужно получить доступ к свойству в модели представления, чтобы установить видимость некоторых элементов XAML.

В предыдущих версиях WTS я мог использовать Локатор для доступа к ViewModel следующим образом:

<TextBlock
    Margin="8"
    Text="{x:Bind MasterMenuItem.Name , Mode=OneWay}"
    Style="{StaticResource BodyTextBlockStyle}"
    Visibility="{Binding Source={StaticResource Locator}, Path=DriverDetailsViewModel.EditMode, Converter={StaticResource InverseBoolToVisibilityConverter}}" />

В V3 WTS реализация Локатора изменилась и не представляется доступной в качестве Статического ресурса?

1 ответ

Решение

Как я и подозревал, изучив код WTS немного больше, я понял, что могу получить доступ к ViewModelLocator из кода XAML. Мне просто нужно было добавить следующее в мой код детализации:

private DriverDetailsViewModel ViewModel
{
    get { return ViewModelLocator.Current.DriverDetailsViewModel; }
}

Тогда работает следующий XAML

Visibility="{x:Bind ViewModel.IsEditMode, Mode=OneWay, Converter={StaticResource InverseBoolToVisibilityConverter}}"
Другие вопросы по тегам