[英]Xamarin iOS - MVVMCross : Unable to connect button in custom cell with command in ViewModel
我正在使用MVVMCross,用于我的Xamarin iOS项目。 我正在使用单元格内的按钮。 我想通过命令将它连接到viewModel,但由于某种原因,我无法成功绑定它们。
有人可以看看,让我知道我做错了什么或我应该对我的代码做什么更新。
视图:
public partial class MyCell : MvxCollectionViewCell
{
public PostImageCell(IntPtr handle) : base(handle)
{
this.DelayBind(() =>
{
var bSet = this.CreateBindingSet<MyCell, SomeViewModel>();
bSet.Bind(Btn).To(vm => vm.EditPhotoCommand);
bSet.Apply();
});
}
}
视图模型:
public class SomeViewModel : BaseCoreViewModel
{
public SomeViewModel()
{
editPhotoCommand = new BaseMvxCommand(DoShow);
}
public ICommand EditPhotoCommand { get { return editPhotoCommand; } }
private void DoShow()
{
//
}
}
我保留了一些断点,并意识到当调用MyCell
构造函数时, this.DelayBind()
的代码没有被命中,所以我尝试删除this.DelayBind
但仍然没有用。 每当我单击单元格内的按钮时,它就不会绑定到ViewModel内的命令
可能在ViewModel中执行类似下面的操作,然后绑定为bSet.Bind(Btn).To(vm => vm.ClickCommand); 我在视图上正确设置了您的按钮。 我现在有一个示例正在使用tableviewcell上的按钮。
private MvxCommand _clickCommand;
public ICommand ClickCommand
{
get
{
_clickCommand = _clickCommand ?? new MvxCommand(Hit);
return _clickCommand;
}
}
private void Hit()
{
System.Diagnostics.Debug.WriteLine("Tapped Click Me");
//System. .WriteLine ("Tapped Click Me");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.