Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
转换到Xamarin.Forms中现有的ContentPage实例_Xamarin_Xamarin.forms - Fatal编程技术网

转换到Xamarin.Forms中现有的ContentPage实例

转换到Xamarin.Forms中现有的ContentPage实例,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有一个Xamarin.Forms应用程序,带有MyWebViewPage:ContentPage,它在App.xaml.cs中设置为MainPage。每次使用wait Navigation.PushAsync(new MyWebViewPage())从应用程序中的其他页面在主页面上进行转换时,都会在内存中创建一个MyWebViewPage类型的新实例。我是否可以在不创建此类型的新实例的情况下在现有的页面MyWebViewPage实例上实现转换?我在这个页面上使用媒体播放器,它与SignalR链

我有一个Xamarin.Forms应用程序,带有
MyWebViewPage:ContentPage
,它在App.xaml.cs中设置为MainPage。每次使用
wait Navigation.PushAsync(new MyWebViewPage())
从应用程序中的其他页面在主页面上进行转换时,都会在内存中创建一个MyWebViewPage类型的新实例。我是否可以在不创建此类型的新实例的情况下在现有的页面MyWebViewPage实例上实现转换?我在这个页面上使用媒体播放器,它与SignalR链接,这个播放器播放声音的次数与创建这种类型的实例的次数相同。所以我只需要有一个这种类型的实例。谢谢您的帮助。

您是否尝试过保存实例并导航到同一实例?因此,不要这样做:

await Navigation.PushAsync(new MyWebViewPage());
你可以:

await Navigation.PushAsync(_webViewPage ??= new MyWebViewPage());
或者如果你不喜欢三元:

if (_webViewPage == null)
    _webViewPage = new MyWebViewPage();

await Navigation.PushAsync(_webViewPage);

好的,差不多清楚了。我是否应该将MyWebViewPage的一个实例传递给我要从中进行转换的页面?我会将其保存在相关的位置。如果它是整个应用程序使用的共享资源。然后,我会考虑将它实例化到一个可以访问该实例的地方。@安德烈。一个例子,您可以使用您的播放器页面实例或尝试使用IOC。