MainPageModel 的构造函数中的 App.Current.MainPage NullReferenceException

Arv*_*iya 1 c# mvvm xamarin xamarin.forms

在加载 时MainPage,我正在从 的构造函数推送另一个页面MainPageModel。它抛出NullReferenceExceptionMainPageModel。这是我的代码

MainPage 构造函数

public MainPage()
{
    InitializeComponent();
    Title = "MainPage";
    BindingContext = new MainPageViewModel(); 
}
Run Code Online (Sandbox Code Playgroud)

MainPageModel 构造函数

public MainPageViewModel()
{
    App.Current.MainPage.Navigation.PushAsync(new HomePage()); //Exception
    //CommandMenu1 = new Command(async () => await NavigateNext());
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Ger*_*uis 5

可能发生的事情是这样的:

public class App
{
    MainPage = new MainPage();
}
Run Code Online (Sandbox Code Playgroud)

MainPage()构造函数之前被分配到完成MainPage您的财产App。因此,在此App.Current.MainPage之前尝试访问,您将获得NullReferenceException. 这意味着您必须找到另一种方法来实现您在此处尝试做的事情。