gpt4 book ai didi

c# - Xamarin.Forms:使用 GetMainPage()

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:15:03 26 4
gpt4 key购买 nike

我目前正在阅读 An Introduction to Xamarin.Forms导航部分.应该使用 GetMainPage() 方法。但是应该如何使用呢?

应用委托(delegate)的默认实现如下所示:

应用委托(delegate):

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

如果我查看(旧的?)示例(example1example2),app delegate 是不同的,CreateViewController() 方法可用。就我而言不是!

将根页面加载到堆栈的正确方法是什么?

最佳答案

您不必使用 GetMainPage();这只是创建的一种方法。 X.Forms 目前的工作方式是:它在 Xamarin.Forms Application 类中公开一个 MainPage 属性。您将其设置为 Page 的实例。如何创建该页面取决于您。您可以使用

this.MainPage = new ContentPage { Content = ... }

或者您每页创建一个文件(恕我直言,这对于可维护性来说是最好的):

this.MainPage = new MyLoginPage();

或者您使用创建页面的辅助方法:

this.MainPage = this.GetMainPage();

主页是表单应用程序的第一页。您可以将 MainPage 属性设置为不同的值以显示另一个页面。

早期版本的表单使用了不同的方法,并且尚未更新所有示例。现在所有平台只需要调用 Forms Init() 方法和调用 LoadApplication() 而不是创建 View Controller 、事件或页面 (WP8) .

关于c# - Xamarin.Forms:使用 GetMainPage(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com