Silverlight中的双向级联组合框

时间:2009-12-17 18:28:57

标签: c# silverlight combobox cascade-filtering

我有兴趣创建代表多对多关系的组合框。也就是说,如果一个组合框改变了将触发另一个组合框改变内容的选择,反之亦然。有谁知道如何在Silverlight中做到这一点?

我试过了,但是当我改变第一个组合中的值时,我或者在第二个组合框中重置SelectedItem,或者我基本上得到了一个无限循环的Collection1Changed - > Collection1SelectionChanged - > Collection2Changed - > Collection2SelectionChanged - > Collection1Changed - > ...

有人知道一项好技术吗?

1 个答案:

答案 0 :(得分: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
}

这看起来像一个非常疯狂的方法,但这是我能想到的全部内容!