我的应用中有一种非常奇怪的行为。 我有两种方法:
public void OnItemLoaded(object source, ItemArgs e)
{
System.Diagnostics.Debug.WriteLine("Event triggered");
NavigationPage newPage = new NavigationPage(new UrlView());
Navigation.PushModalAsync(newPage);
}
void Handle_ItemSelected(object sender, Xamarin.Forms.SelectedItemChangedEventArgs e)
{
NavigationPage newPage = new NavigationPage(new UrlView());
Navigation.PushModalAsync(newPage);
}
第一个是由一个事件启动的,它确实有效,因为WriteLine正确显示,但没有导航到该页面。 第二个只是对我的测试,它是通过点击列表视图的项目触发并按预期加载。 它们都在同一页面上,除了它们被触发的方式之外没有什么不同。 如果我使用:
Application.Current.MainPage = new NavigationPage(new UrlView());
它确实有效,但我无法通过按后退按钮和模态行为返回上一页。我想过使用:
Navigation.InsertPageBefore(new TabsPage(), this);
在我加载的页面上,然后我得到:
"例外:之前必须在当前上下文的推送堆栈中#34;
我想在屏幕上手动插入一个后退按钮,但感觉毫无意义......
我完全陷入了困境。 有什么想法吗?
非常感谢。