如何将命令绑定到MvxListView中的ItemClick事件?

时间:2016-12-22 09:10:52

标签: android mvvmcross

我有以下ViewModel:

public ObservableCollection<Channel> Series { get; private set; }

private MvxCommand<Channel> enableClicked;
public ICommand EnableClicked
{
    get
    {
        return enableClicked = enableClicked ??
            new MvxCommand<Channel>(ch => {
                ch.Enabled = !ch.Enabled;
            });
    }
}

我的axml看起来像:

<Mvx.MvxListView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    app:MvxItemTemplate="@layout/serieenable"
    app:MvxBind="ItemsSource Series; ItemClick EnableClicked" />

我在第return enableClicked行放了一个断点。

如果我在第ch.Enabled = !ch.Enabled;行上设置断点,当我触摸ListView项时,它永远不会被击中。

如何将命令绑定到ItemClick中的MvxListView事件?

1 个答案:

答案 0 :(得分:0)

我无法重现您的问题。刚尝试了一个带有字符串的小样本:

CACHE_DRIVER

观看:

private MvxCommand<string> _clickCommand;
public ICommand ClickCommand
    => _clickCommand = _clickCommand ?? new MvxCommand<string>(OnClick);

private void OnClick(string item)
{
    Mvx.TaggedTrace("MyVM", $"Item {item} clicked");
}

触发并正常工作。