UWP CompactOverlay 模式(画中画)IsViewModeSupported 异常

UWP CompactOverlay Mode (Picture-inPicture) IsViewModeSupported Exception

目前我正在测试新的 CompactOverlay 模式,但似乎有一个问题,当 运行 应用程序不在创意者更新(例如周年更新)上时。这是一段简化的代码

// Check if it is supported
if (ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay))
{
  // Supported
}
else
{
  // Not supported
}

但这给了我一个例外,在 Creators Update 之前的 Windows 版本:

System.InvalidCastException: ‘Unable to cast object of type ‘Windows.UI.ViewManagement.ApplicationView’ to type ‘Windows.UI.ViewManagement.IApplicationView4

这是一个错误,还是我需要检查其他东西?

这是意料之中的。 API 是创意者更新中的新内容,因此不适用于 OS 的早期版本。 IsViewModeSupported API 会告诉您 运行 所在的设备(PC、phone、xbox 等)是否支持相应的视图模式。在进行此检查之前,您应该首先检查视图模式 API 本身是否存在。您可以使用以下 APIs