gpt4 book ai didi

c# - Xamarin iOS - MVVMCross : Unable to connect button in custom cell with command in ViewModel

转载 作者:行者123 更新时间:2023-12-03 10:43:22 36 4
gpt4 key购买 nike

我正在为我的 Xamarin iOS 项目使用 MVVMCross。我在单元格内使用一个按钮。我想通过命令将它连接到 viewModel,但由于某种原因,我无法成功绑定(bind)它们。

有人可以看看,让我知道我做错了什么或者我应该对我的代码进行哪些更新。

查看:

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但仍然没有用。
每当我单击单元格内的按钮时,它都不会绑定(bind)到 ViewModel 内的命令

最佳答案

可能在您的 ViewModel 中执行以下操作,然后绑定(bind)为 bSet.Bind(Btn).To(vm => vm.ClickCommand);我已经在 View 上正确设置了您的按钮。我现在有一个使用 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");
}

关于c# - Xamarin iOS - MVVMCross : Unable to connect button in custom cell with command in ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370763/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com