Windows Template Studio MVVMLight 从详细信息页面访问 ViewModel

Windows Template Studio MVVMLight accessing ViewModel from Details page

我正在使用 Windows Template Studio V3.0,使用实现 Master/Detail 页面的 MVVMLight 创建 UWP 应用程序。我确定我会自责,但我不知道如何从“详细信息”页面访问 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}}" />

在 WTS 的 V3 中,定位器的实现已更改并且似乎无法作为静态资源访问?

正如我所怀疑的,在进一步研究 WTS 代码后,我意识到我可以从 XAML 代码隐藏访问 ViewModelLocator。我只需要将以下内容添加到我的 detailsview 代码隐藏中:

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

然后下面的XAML有效

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