Windows Template Studio MVVML облегчает доступ к ViewModel со страницы сведений - PullRequest
0 голосов
/ 14 марта 2019

Я использую 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 Ответ

0 голосов
/ 15 марта 2019

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

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

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

Visibility="{x:Bind ViewModel.IsEditMode, Mode=OneWay, Converter={StaticResource InverseBoolToVisibilityConverter}}"
...