2016-06-20 9 views
0

私は、Xlabsを使ってチェックボックスを実装しているXamarin.Formsプロジェクトを持っています。私はそれらを素晴らしいものにすることができます。私はこれを行うことができます:CheckBoxリストビュー項目が選択されているときにアクションを実行する方法は?

void OnSelection(object sender, SelectedItemChangedEventArgs e) 
    { 
     if (e.SelectedItem == null) 
      return; 
     var selectedStudent = ((ListView)sender).SelectedItem as Student; 

     // set time of student checkin 
    } 

しかし私のチェックボックスで。私はそれが起こるようにチェックボックスの選択を処理できるようにしたい。私がオンラインで見たことから、私の学生オブジェクトの新しいブール値プロパティを設定することができますselected、しかし、それは単に私のプロジェクトでは動作しません。ここに私の現在のアプローチです:

void OnSelection(object sender, EventArgs e) 
    { 
     CheckBox isCheckedOrNot = (CheckBox)sender; 
     var name = isCheckedOrNot.DefaultText; 

     //not sure what to do here? 
     var student = ((CheckBox)sender)... 

     // set time of student checkin 
    } 

EDIT:ように宣言チェックボックス:

<ViewCell> 
    <ViewCell.View> 
     <controls:CheckBox DefaultText="{Binding complete_name}" TextColor="Black" CheckedChanged="OnSelection" Checked="{Binding selected}"/> 
    </ViewCell.View> 
</ViewCell> 
+0

しかし、私はそれが触れられたチェックボックスをソファーしたときにすぐに知ることができますか? 'CheckedItems'はあなたが選択したすべてのアイテムに何かをする事実の後に何かのように思えます – panthor314

+0

私はこれを知らなかったのですか? 'ItemChecked'という名前のプロパティが存在しないと言うと、ビルドエラーが発生します。 – panthor314

+0

xamlのチェックボックスを宣言すると、どのように' ItemChecked'イベントを実装できるかわかりません。 – panthor314

答えて

0

私は/#cのXAMLするのは非常に新しいですので、私はこの悪い質問をするために謝るが、それは同様に簡単ですあなたがチェックしたアイテムを取得するには:

void OnSelection(object sender, EventArgs e) 
    { 
     CheckBox isCheckedOrNot = (CheckBox)sender; 
     var selectedStudent = isCheckedOrNot.BindingContext as Student; 
     ... 
    } 

関連する問題