我有一个Xamarin.Forms项目,我有一个自定义控件,应该在点击时打开一个新页面。不幸的是,当我拨打Navigation.PushAsync(...);
时,什么也没有发生。我读过无数StackOverflow问题(such as this one)和Xamarin论坛主题并完成了几次Google搜索,但没有一个解决方案似乎解决了我的问题。
Xamarin.Forms Navigation.PushAsync不工作
- 我的控制从
ContentView
继承,因为所有Xamarin.Forms意见 做。 src
是一个自定义类,其中包含一些数据点,该控件和EventDetailsPage
使用 。- 我可以确认手势确实是本身工作,但拨打
PushAsync()
什么都不做。 - 我尝试过使用
NavigationPage
这种方式来操纵语句(使它变成myNavigationPage.Navigation.PushAsync(new EventDetailsPage(src));
)。 - 我也试过创建一个构造函数,它需要一个
Page
并使用它类似于上面的点。
我控制的构造函数:
public EventControl() {
InitializeComponent();
GestureRecognizers.Add(new TapGestureRecognizer() {
Command = new Command(() => Navigation.PushAsync(new EventDetailsPage(src)))
});
}
通常情况下,提出一个新的问题,在计算器上是我的时候没有别的,我试过解决了我的问题,不得已而为之。任何帮助表示赞赏。
是你的页面实际上包含在一个NavigationPage?您是否正在访问该控件的导航属性,或该控件所在页面的导航属性? – Jason
@Jason是的。我的层次结构是'NavigationPage' - >'TabbedPage' - >'ContentPage' - >'ContentView'(作为'EventControl')。至于你的第二个问题,我已经试过了。 –
通常,TabbedPage将成为你的根,每个标签将包含一个带有ContentPage的导航页面(或者只是一个ContentPage,如果该特定标签不需要导航的话)。 – Jason