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}}"