WPF фильтрует ListBox после выбранного ComboBox изменения С#

У меня ComboBox привязан к 1 таблице данных (1 столбец «Страна»), а список привязан к другому 1 (2 столбца «Имя», «Страна»). Как изменить фильтр списка для выбранного элемента в поле со списком?

Например:

значения выпадающего списка: GER, POL, RUS

datatable привязан к списку:

Name | Country 
John | GER
Luke | POL
Sasha| RUS
CJ   | GER
Carl | POL

когда я выбираю GER в поле со списком, я хочу обновить список, чтобы видеть только:
John
CJ

Я уже использовал фильтр для данных

   dataSet.Tables["Name"].DefaultView.RowFilter = "Country Like '%" + comboBoxFilter.Text + "%' ";

Но у меня результат задерживается на 1 клик.

 change to | result

 GER       | no change
 POL       | now I see GER names
 RUS       | now I see POL names
 POL       | now I see RUS names

Почему задерживается?


person user1736332    schedule 25.07.2013    source источник
comment
Вы можете опубликовать свою привязку или настройку источников элементов?   -  person blindmeis    schedule 25.07.2013
comment
listBoxNames.DataContext = dataSet.Tables[Имена];   -  person user1736332    schedule 25.07.2013
comment
Вы обновляете таблицу после фильтрации?   -  person Sonhja    schedule 25.07.2013
comment
Да. Это не имеет никакого значения.   -  person user1736332    schedule 25.07.2013


Ответы (1)


combobox.text   is delayed for 1 event

чтобы получить фактическое выбранное значение в коде события изменения выбора, мне нужно было

DataRowView drw = (DataRowView)(sender as ComboBox).SelectedItem;
string text = drw["Type"].ToString() ;
person user1736332    schedule 26.07.2013