2009-12-17 2 views
1

Я заинтересован в создании комбинированных ящиков, которые представляют отношения «многие ко многим». То есть, если одно поле со списком изменяет выделение, которое приведет к тому, что другой combobox изменит контент, и наоборот. Кто-нибудь знает, как это сделать в Silverlight?Двунаправленные каскадные комбинированные поля в Silverlight

Я попробовал, но я либо получаю SelectedItem reset во втором combobox, когда я изменяю значение в первом, либо в основном получаю бесконечный цикл Collection1Changed -> Collection1SelectionChanged -> Collection2Changed -> Collection2SelectionChanged -> Collection1Changed -> ...

Кто-нибудь знает о хорошей технике?

ответ

0

Одно из возможных решений заключается в отсоединении и повторном подключении обработчиков событий, я понятия не имею, является ли это хорошей идеей или нет, но, вероятно, лучше лучший метод!

private void Collection1_SelectionChanged (object sender, eventargs e) 
{ 
    Collection2.SelectionChanged -= Collection2_SelectionChanged; //drop event handler 
    //make changes... 
    Collection2.SelectionChanged += Collection2_SelectionChanged; //add event handler 
} 

Это кажется довольно сумасшедшим методом, но это все, что я могу придумать атм!

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