无法在Xamarin中从一个页面导航到另一个页面.使用Xamarin时的表单.Essentials抖动检测事件



我有两个类MainPage.xaml和Home.xaml。我用Xamarin编写了Home.xaml。Essentials抖动检测代码,并希望从主页移动到MainPage.xaml,但它不起作用。

主页.xaml.cs

namespace StarRatingApp
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Home : ContentPage
{
public Home()
{
InitializeComponent();
}
protected override void OnAppearing()
{
base.OnAppearing();
Accelerometer.ShakeDetected += Accelerometer_ShakeDetected;
Accelerometer.Start(SensorSpeed.Game);
}

private void Accelerometer_ShakeDetected(object sender, EventArgs e)
{
MainThread.BeginInvokeOnMainThread(() =>
{
new NavigationPage(new MainPage());
});
}  
}

我在Acceleratometer_ShakeDetected方法中做错了什么??

您没有在方法中导航。您只需创建一个新的NavigationPage。这不会有任何作用。你必须告诉系统,你想在哪里导航以及如何导航。

你有两个选择:

1( 导航到您的页面(这会将页面添加到导航堆栈(

await Navigation.PushAsync(new MainPage());

或者2(用新的NavigationPage覆盖您的主页(这将删除整个NavigationStack并启动"新"导航(

Application.Current.MainPage = new NavigationPage(new MainPage());

您可以在文档中找到有关导航的更多信息>>https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/navigation/hierarchical

相关内容

  • 没有找到相关文章

最新更新