如何在MVVMCross Xamarin.iOS中绑定集合视图单元格中的按钮?

时间:2015-02-13 11:30:13

标签: xamarin.ios xamarin mvvmcross

我无法找到解决问题的方法。我想将集合视图单元格中的按钮绑定到我的View Model.e.g我的视图代码是

VideoQueueCollectionView.RegisterNibForCell(QueueItemCell.Nib, QueueItemCell.Key);
var source = new MvxCollectionViewSource(VideoQueueCollectionView, QueueItemCell.Key);
VideoQueueCollectionView.Source = source;

var set = this.CreateBindingSet<VideoQueueView, VideoQueueViewModel>();

set.Bind(source).To(vm => vm.VideoTrailers);
set.Bind(source).For(b => b.SelectionChangedCommand).To(vm => vm.ViewVideoTrailerCommand);
set.Apply();

我的收藏查看单元格代码就像那样

public QueueItemCell (IntPtr handle) : base (handle)
        {
            this.DelayBind (() => {
                var set = this.CreateBindingSet<QueueItemCell, DeviceQueueItem> ();
                set.Bind (SourceNameLabel).To (vm => vm.SourceDeviceName);
                set.Bind (ReceivedTimeLabel).To (vm => vm.ReceivedTime);
      set.Bind (ButtonCross).To (????????);
                set.Apply ();

                SetFont();
            });
        }

因为我的命令在VideoQueueViewModel中。我如何绑定此命令。我过去2天陷入了这个问题

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要将viewmodel包装到行模型中。这样您就可以访问viewmodel上的命令。在https://github.com/MvvmCross/MvvmCross/issues/35

中也讨论了此问题

和:How to binding list item to whether it is contained in another collection