从视图模型更改 Xamarin 表单应用程序页面
Posted
技术标签:
【中文标题】从视图模型更改 Xamarin 表单应用程序页面【英文标题】:Changing Xamarin Forms App Page from a View Model 【发布时间】:2019-02-20 11:45:47 【问题描述】:当前在我的视图模型中,当一个命令被执行时,我正在尝试使用这个来更改应用程序的页面:
Application.Current.MainPage.Navigation.PushAsync(new ArticlePage());
但是,当命令被执行时,它会越过这个并且页面没有被改变。代码是错误的,还是只有一行代码?
谢谢,
瑞恩
【问题讨论】:
您是否调试过此应用以确定goes right past this
是否确实如此?
@Saruman 当我使用调试器进入代码时,它访问页面的 .cs 我试图将其推送到,即使它访问 InitializeComponent() 它也不会更改页面。
你试过await Application.Current.MainPage.Navigation.PushAsync(new ArticlePage());
是的,不走运@Saruman,不幸的是没有任何区别
试试这个 Application.Current.MainPage = new ArticlePage();可能有效。
【参考方案1】:
看看“将页面推送到导航堆栈” - Xamarin documentation
在文档中,以下用于导航。
await Navigation.PushAsync(new Page2Xaml());
当您像现在这样使用整个路径时,引用不正确或引发某种异常。
您还可以使用 try/catch 来查看是否引发了异常。
【讨论】:
以上是关于从视图模型更改 Xamarin 表单应用程序页面的主要内容,如果未能解决你的问题,请参考以下文章
如何在具有棱镜的Xamarin表单中为contentview创建单独的视图模型?