2016-12-22 21 views
0

私は、次のViewModelがありますMvxListViewのItemClickイベントにコマンドをバインドする方法は?

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イベントにコマンドをバインドするにはどうすればよいですか?

答えて

0

問題を再現できません。

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

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

とビュー:文字列だけの小さなサンプルで試してみました

<MvxListView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    app:MvxItemTemplate="@layout/my_listitem" 
    app:MvxBind="ItemsSource Items; ItemClick ClickCommand" /> 

トリガとうまく動作します。

+0

あなたはmy_listitemを共有していただけますか? –

関連する問題