[英]Navigation in Xamarin.Forms not working
導航不起作用,方法是將Mainpage設置為導航頁面,或者將Mainpage設置為另一個內容頁面,因為我嘗試了以下解決方案: 如何在客戶端項目(IOS / Android)中將一個Content頁面導航到另一個Content頁面Xamarin形式?
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace App14
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
Application.Current.MainPage = new Page1();
}
}
}
如果我運行上面的代碼,我看不到任何內容。該應用只會加載並終止
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace App14
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
App.Current.MainPage = new NavigationPage();
Application.Current.MainPage.Navigation.PushAsync(new Page1())
}
}
}
如果嘗試使MainPage成為導航頁和Pushasync代碼,則也將無法正常工作
從Application
繼承的App.xaml.cs
應該正在加載MainPage
並且為了進行導航,應該將其包裝在NavigationPage
。
public partial class App : Application
{
public App()
{
InitializeComponent();
var navigationPage = new NavigationPage(new MainPage());
MainPage = navigationPage;
}
...
}
看來您想取消您的應用程序,其根頁面為Page1
。
如果這是真的,那么您在錯誤的地方編寫了導航邏輯。 您應該從MainPage's
構造函數中刪除導航邏輯,並將第一頁導航寫入App.cs
類,如下所示:
public partial class App : Application
{
public App ()
{
InitializeComponent ();
MainPage = new NavigationPage(new Page1 ());
}
}
否則 ,
如果要以MainPage
作為根頁面啟動應用程序,然后立即將Page1
推入導航堆棧,則:
public partial class App : Application
{
public App ()
{
InitializeComponent ();
var navPage = new NavigationPage(new App14.MainPage());
Application.Current.MainPage = navPage;
navPage.PushAsync(new Page1());
}
}
有關Xamarin.Forms中導航的更多詳細信息, 請單擊此處 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.