Как выполнить действие, если выбран элемент просмотра списка CheckBox?
У меня есть проект Xamarin.Forms, где я использую Xlabs для реализации флажков. Я могу заставить их появиться, и это здорово. Я хочу быть в состоянии сделать это:
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
}
РЕДАКТИРОВАТЬ: флажок объявлен так:
<ViewCell>
<ViewCell.View>
<controls:CheckBox DefaultText="{Binding complete_name}" TextColor="Black" CheckedChanged="OnSelection" Checked="{Binding selected}"/>
</ViewCell.View>
</ViewCell>
1 ответ
Решение
Я очень новичок в xaml/ C#, поэтому я прошу прощения за этот плохой вопрос, но это так же просто, как сказать:
void OnSelection(object sender, EventArgs e)
{
CheckBox isCheckedOrNot = (CheckBox)sender;
var selectedStudent = isCheckedOrNot.BindingContext as Student;
...
}
чтобы получить товар, который вы проверили.