我正在开发 Windows 应用商店应用程序 (UWP),但本机代码有问题 - 我收到此消息。
此代码第二次或第三次触发后抛出此异常。
if(ProjectionManager.ProjectionDisplayAvailable)
{
if(init != null)
{
init.ProjectionViewPageControl.StartViewInUse();
await ProjectionManager.StopProjectingAsync(MainPage.SecondaryViewId, thisViewId);
init.ProjectionViewPageControl.StopViewInUse();
rootPage.ProjectionViewPageControl = null;
}
if(rootPage.ProjectionViewPageControl == null)
{
//First, create a new, blank view
var thisDispatcher = Window.Current.Dispatcher;
await CoreApplication.CreateNewView().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
rootPage.ProjectionViewPageControl = ViewLifetimeControl.CreateForCurrentView(); //ViewLifetimeControl is a wrapper to make sure the view is closed only when the app is done with it
//Assemble some data necessary for the new page
init = new ProjectionViewPageInitializationData();
init.MainDispatcher = thisDispatcher;
init.ProjectionViewPageControl = rootPage.ProjectionViewPageControl;
init.MainViewId = thisViewId;
//Note that the view will not become visible until "StartProjectingAsync" is called
var rootFrame = new Frame();
rootFrame.Navigate(typeof(ProjectionViewPage), init);
Window.Current.Content = rootFrame;
Window.Current.Activate();
});
}
try
{
rootPage.ProjectionViewPageControl.StartViewInUse(); // Start/StopViewInUse are used to signal that the app is interacting with the view, so it shouldn't be closed yet, even if the user loses access to it
await ProjectionManager.StartProjectingAsync(rootPage.ProjectionViewPageControl.Id, thisViewId); // Show the view on a second display (if available) or on the primary display
rootPage.ProjectionViewPageControl.StopViewInUse();
}
catch { }
}
ProjectionViewPage
打开,一切正常,但我不知道出了什么问题。在不同时间、页面打开和关闭不同时间后抛出此异常。我不知道出了什么问题。
UPD 当
ProjectionViewPage
具有 MediaElement
控制时,就会出现问题。