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
Xamarin 为什么';t Navigation.PopAsync()是否触发基础页面的OnAppearing方法?_Xamarin_Xamarin.forms - Fatal编程技术网

Xamarin 为什么';t Navigation.PopAsync()是否触发基础页面的OnAppearing方法?

Xamarin 为什么';t Navigation.PopAsync()是否触发基础页面的OnAppearing方法?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我的Xamarin表单应用程序的主页设置为 new NavigationPage(new CarsMasterDetailPage()) 其中CarsMasterDetailPage:MasterDetailPage 在CarsMasterDetailPage构造函数中,我将Master属性设置为new CarsMasterPage(),将Detail属性设置为new CarsDetailPage()。CarsMasterPage和CarsDetailPageextendContentPage

我的Xamarin表单
应用程序
主页
设置为

new NavigationPage(new CarsMasterDetailPage())
其中
CarsMasterDetailPage:MasterDetailPage

CarsMasterDetailPage
构造函数中,我将
Master
属性设置为
new CarsMasterPage()
,将
Detail
属性设置为
new CarsDetailPage()
CarsMasterPage
CarsDetailPage
extend
ContentPage

母版页包含一个汽车列表和一个按钮,该按钮具有一个事件处理程序,可执行以下操作:

await Navigation.PushAsync(new AddCar());
await Navigation.PopAsync();
AddCar
页面有一个带有事件处理程序的按钮,该按钮执行以下操作:

await Navigation.PushAsync(new AddCar());
await Navigation.PopAsync();
当我第一次运行应用程序时,母版页的
OnAppearing
方法被调用。当导航第一次弹出到母版页时,会再次调用出现的
on
。不过,后续的导航推送和弹出不会


我可以通过在母版页上添加一个代理来解决这个问题,添加汽车页面会在完成后调用该代理,但这感觉有点不对劲,因为有页面事件来处理这个问题。有人知道它为什么不起作用吗?

在我的情况下,我就是这样做的,一切正常: 我的主页:

MainPage = new MasterDetailPage {
                Master = new MasterDetailPage1Master(),
                Detail = new MyNavigationPage(new MainPageLinearList(appType))
            };
因此,关键是在DetailPage中使用NavigationPage。之后一切正常。

订阅活动:


在任何页面弹出后发送自定义消息或创建自定义事件处理程序来完成您的工作。这最终让我达到了目的,谢谢。我必须删除
NavigationPage
包装
MasterDetailPage
,然后在
NavigationPage
中包装Master和detailpage。