我已经在MvvmCross中创建了MasterDetailPage,click(Command)在详细信息页面上不起作用

时间:2018-10-05 14:59:51

标签: xamarin.forms mvvmcross

我创建了一个mvvm跨应用程序,其中创建了一个ViewModel以及一个带有xaml.cs的页面。因此,无法从page(xaml)命令调用视图模型,或者导航无法正常工作。

我已附加命令:

public IMvxAsyncCommand LblTappedNumberCommand => new 
MvxAsyncCommand(async 
 () =>
    {
        await _navigationService.Navigate<AddPhoneNumberViewModel>();
});

Xaml以上:

  <Image Source="user.png">
  <Image.GestureRecognizers>
  <TapGestureRecognizer Command="{Binding 
  EditProfileClicked}" NumberOfTapsRequired="1" />
  </Image.GestureRecognizers>
  </Image>

通过删除上述代码的MasterDetailPage(sidebar)即可正常工作。

当我在xaml.cs中为点击事件编写代码时,如下所示:

xaml.cs:

public void EditProfileClicked(object sender, EventArgs args)
{
    Navigation.PushAsync(new EditProfile1Page());
}

xaml:

<Image  
    HorizontalOptions="End"
    VerticalOptions="End"                  
    Source="user.png">
    <Image.GestureRecognizers>
        <TapGestureRecognizer Tapped="EditProfileClicked" 
NumberOfTapsRequired="1" />
    </Image.GestureRecognizers>
</Image>

1 个答案:

答案 0 :(得分:0)

如果您看到那里,则将图像的命令绑定到EditProfileClicked,并且应该绑定到LblTappedNumberCommand