我在 MvvmCross 中创建了 MasterDetailPage,点击(命令)在详细信息页面上不起作用
I have created MasterDetailPage in MvvmCross, the click(Command) is not working on detail page
我创建了一个 mvvm 交叉应用程序,我在其中创建了一个视图模型以及一个带有 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>
如果您在那里看到,您正在将图像的命令绑定到 EditProfileClicked
,您应该绑定到 LblTappedNumberCommand
。
我创建了一个 mvvm 交叉应用程序,我在其中创建了一个视图模型以及一个带有 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>
如果您在那里看到,您正在将图像的命令绑定到 EditProfileClicked
,您应该绑定到 LblTappedNumberCommand
。