如何避免导航堆栈上已经存在打开的页面?
问题描述:
我使用Xamarin.forms,有的时候用户会点击两次相同的按钮,我搜索的地方,避免打开同一个页面两次,也许禁用按钮后,第一次点击将正常工作,但我正在寻找的地方,避免如果导航堆栈中已经存在页面,请打开相同页面。如何避免导航堆栈上已经存在打开的页面?
btnCustomerPage.Clicked += (object sender, EventArgs e) =>
{
//CustomerPage already Exist on Navigation Stack,So user already open it.
Navigation.PushAsync(new CustomerPage();
};
答
if (Navigation.NavigationStack.Count == 0 ||
Navigation.NavigationStack.Last().GetType() != typeof(CustomerPage))
{
await Navigation.PushAsync(new CustomerPage(), true);
}
+0
它工作正常..谢谢 –
就注意到了这一点,用一个更好的解决方案已经回应:http://stackoverflow.com/a/42354382/1771254 – apineda
是的,我看到.thanks –