两个几乎完全相同的事件方法的行为不同

时间:2017-04-29 14:12:28

标签: c# android xamarin

我的应用中有一种非常奇怪的行为。 我有两种方法:

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;

我想在屏幕上手动插入一个后退按钮,但感觉毫无意义......

我完全陷入了困境。 有什么想法吗?

非常感谢。

0 个答案:

没有答案