打开页面的“我的按钮”不起作用,使用Xamarin(C#,XAML)并将项目重新构造为MVVM

velaa5lx  于 2023-01-22  发布在  C#
关注(0)|答案(1)|浏览(164)

我刚刚使用Eduardo罗萨斯关于Xamarin的教程将我的Xamarin项目重组为MVVM。我无法让“开始”按钮在Android模拟器启动的第一个页面上工作。根据Eduardo所做的,它看起来是正确的。下面是“登录页”(应用程序加载的第一个页面)的XAML。

用于打开页面(登录页面)的XAML

以下是登录页面(应用程序的第一页)背后的代码:

代码隐藏

以下是登录页的视图模型:

查看登陆页面模型

下面是PickFromThreePageCommand.cs的ICommand调用开始按钮已点击:

I命令

PickFromThreePage有三个按钮,也是开始_Button_Tapped导航的页面。当我在Android模拟器上运行应用程序时,LandingPage出现,我点击“Begin”按钮,它显示失真,就像它知道自己被点击了,但没有导航到下一页... PickFromThreePage。下面是模拟器的一个选择:

以下是PickFromThreePageVM的精选内容,仅供参考:

编辑:我的开始_Button_Taped()没有“async”和“wait”的导航。它仍然不工作,但我想我会添加这个。

41ik7eoe

41ik7eoe1#

让我们开始吧。你的代码和XAML都很好,现在来看看你的视图模型,我认为你无缘无故地把它弄得太复杂了。你的按钮ICommand应该看起来像这样(所有这些都应该在你的VM中):

Public ICommand PickFromThreePageCommand {get; set;}

然后在构造函数中初始化它:

public LandingPageVM
  {
      PickFromThreePageCommand= new Command(PickFromThreePage)
  }

然后像这样定义方法:

private void PickFromThreePage(object obj)
   {
              // Click event code
   }

相关问题