C# 如何修复在SeparateProcess执行模式下使用WebView时的崩溃问题?

C# 如何修复在SeparateProcess执行模式下使用WebView时的崩溃问题?,c#,.net,windows,xaml,uwp,C#,.net,Windows,Xaml,Uwp,为了在UWPWebView中使用WebGL,我寻找了这个 但一个新问题出现了。当导航到另一个页面并返回几次时,应用程序崩溃,无法解释。似乎创建了太多的webview实例,然后我尝试使用单例模式来解决它 公共静态类WebViewSingleton { 私有静态WebView实例; 公共静态WebView GetInstance() { if(实例==null) { 实例=新WebView(WebViewExecutionMode.SeparateProcess) { Source=新Uri(“h

为了在UWP
WebView
中使用WebGL,我寻找了这个

但一个新问题出现了。当导航到另一个页面并返回几次时,应用程序崩溃,无法解释。似乎创建了太多的
webview
实例,然后我尝试使用单例模式来解决它

公共静态类WebViewSingleton
{
私有静态WebView实例;
公共静态WebView GetInstance()
{
if(实例==null)
{
实例=新WebView(WebViewExecutionMode.SeparateProcess)
{
Source=新Uri(“https://www.google.com/")
};
}
返回实例;
}
}
公共主页()
{
this.InitializeComponent();
MyWebView=WebViewSingleton.GetInstance();
MyWebView.Navigate(新Uri(“https://sketchfab.com/models/a6af6d1ae2744a55820d00599aca71f2/embed? 
autostart=1&internal=1&ui_infos=0&ui_snapshots=1&ui_stop=0&ui_watermark=0”);
this.RootGrid.Children.Add(MyWebView);
}
这样,调试器告诉我
MyWebView
已经是另一个元素的子元素。我尝试了各种方法来断开MyWebView与其父级的连接,但失败了

我发现将
NavigationCacheMode=“Enabled”
添加到我的页面时它可以工作,但这不是我想要的。

将此添加到page.xmal

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    if (this.RootGrid.Children.Contains(MyWebView))
    {
         this.RootGrid.Children.Remove(MyWebView);
    }
}