2017-01-04 1 views
0

Я создаю приложение wpf в C#. У меня есть GridView с информацией. Каждая строка имеет флажок. При щелчке по флажку я хотел бы получить значение имени пользователя строки (в столбце 1).wpf получить выбранную строку при изменении значения флажка

Сейчас он работает, но нужно выбрать всю строку. В противном случае я получаю, конечно, нулевое исключение.

private void CheckBox_breakfast(object sender, RoutedEventArgs e) 
{ 
    Reservation reservation = gridReservations.SelectedItem as Reservation; 
    string name = reservation.user_name; 
} 

Как это получить, если вы установите флажок вместо целой строки?

Уже искали в Интернете и много пробовали, но ничего не работает.

Помогло бы мне много!

+1

Несвязанный, но вы можете рассмотреть шаблон mvvm, чтобы использовать потенциал wpf. – Bijan

+0

Почему вы не можете использовать обработчик событий 'checked' для этого? – KyloRen

+0

Да, уже делаю это. Но как мне получить идентификатор строки? – Jenssen

ответ

2

Вы могли бы попытаться бросить DataContext самого CheckBox в резервации:

private void CheckBox_breakfast(object sender, RoutedEventArgs e) 
{ 
    CheckBox checkBox = sender as CheckBox; 
    Reservation reservation = checkBox.DataContext as Reservation; 
    string name = reservation.user_name; 
} 

Это должно работать, если вы не явно установить DataContext в CheckBox или любой из его родительских элементов в клетке к чему-то другому.

+0

Спасибо, отлично работает. – Jenssen

Смежные вопросы