Двунаправленные каскадные комбинированные списки в Silverlight - PullRequest
1 голос
/ 17 декабря 2009

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

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

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

1 Ответ

0 голосов
/ 17 декабря 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...