Xamarin.Forms:使用 GetMainPage()
Xamarin.Forms: Use of GetMainPage()
我目前正在阅读 An Introduction to Xamarin.Forms 的 导航 部分。应该使用 GetMainPage()
方法。但是应该如何使用呢?
应用委托的默认实现如下所示:
应用委托:
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init ();
LoadApplication (new App ());
return base.FinishedLaunching (app, options);
}
}
应用程序:
public class App : Application
{
public App ()
{
MainPage = GetMainPage ();
}
public static Page GetMainPage()
{
var mainNav = new NavigationPage(new ListExample());
return mainNav;
}
}
我设法使用 GetMainPage()
方法而不是
Application windows are expected to have a root view controller at the end of application launch
如果我查看(旧的?)示例 (example1, example2),应用委托是不同的,并且有一个 CreateViewController()
方法可用。就我而言不是!
将根页面加载到堆栈的正确方法是什么?
您不必使用 GetMainPage()
;这只是 您 创建的一种方法。 X.Forms 这些天的工作方式是:它在 Xamarin.Forms Application
class 中公开一个 MainPage
属性。您将其设置为 Page
的一个实例。如何创建该页面取决于您。您可以使用
this.MainPage = new ContentPage { Content = ... }
或者您每页创建一个文件(恕我直言,这对于可维护性来说是最好的):
this.MainPage = new MyLoginPage();
或者您使用创建页面的辅助方法:
this.MainPage = this.GetMainPage();
主页是表单应用程序的第一页。您可以将 MainPage
属性 设置为不同的值以显示另一个页面。
早期版本的表单使用了不同的方法,尚未更新所有示例。现在所有平台只需要调用 Forms Init()
方法和调用 LoadApplication()
而不是创建视图控制器、activity 或页面 (WP8)。
我目前正在阅读 An Introduction to Xamarin.Forms 的 导航 部分。应该使用 GetMainPage()
方法。但是应该如何使用呢?
应用委托的默认实现如下所示:
应用委托:
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init ();
LoadApplication (new App ());
return base.FinishedLaunching (app, options);
}
}
应用程序:
public class App : Application
{
public App ()
{
MainPage = GetMainPage ();
}
public static Page GetMainPage()
{
var mainNav = new NavigationPage(new ListExample());
return mainNav;
}
}
我设法使用 GetMainPage()
方法而不是
Application windows are expected to have a root view controller at the end of application launch
如果我查看(旧的?)示例 (example1, example2),应用委托是不同的,并且有一个 CreateViewController()
方法可用。就我而言不是!
将根页面加载到堆栈的正确方法是什么?
您不必使用 GetMainPage()
;这只是 您 创建的一种方法。 X.Forms 这些天的工作方式是:它在 Xamarin.Forms Application
class 中公开一个 MainPage
属性。您将其设置为 Page
的一个实例。如何创建该页面取决于您。您可以使用
this.MainPage = new ContentPage { Content = ... }
或者您每页创建一个文件(恕我直言,这对于可维护性来说是最好的):
this.MainPage = new MyLoginPage();
或者您使用创建页面的辅助方法:
this.MainPage = this.GetMainPage();
主页是表单应用程序的第一页。您可以将 MainPage
属性 设置为不同的值以显示另一个页面。
早期版本的表单使用了不同的方法,尚未更新所有示例。现在所有平台只需要调用 Forms Init()
方法和调用 LoadApplication()
而不是创建视图控制器、activity 或页面 (WP8)。