设置ItemsSource时保持状态

时间:2011-06-07 14:45:46

标签: wpf conceptual

我有一个代理商类型{警察,消防,紧急}的ListBox(ListBox1)

当用户选择代理商类型时,通过设置商品来源,使用(名称,复选框)填充另一个ListBox(ListBox2)。

问题是如果我选择Police,然后检查CheckBox,然后选择Fire,再次选择Police,CheckBox状态将丢失。我知道CheckBox状态丢失了,因为我正在重置ItemsSource,但我想知道正确的方法是什么。

ListBox1
[Police] is selected
[Fire]
[Emergency] 

ListBox2
[ Name, CheckBox for Police agency 1]
[ Name, CheckBox for Police agency 2]
[ Name, CheckBox for Police agency 3]

2 个答案:

答案 0 :(得分:1)

您应该在viewmodel中检查状态。第一个列表框模型应该有一个代理商集合,每个代理商模型都有一个bool用于复选框。因此,只需将其绑定到视图即可保留。

答案 1 :(得分:-1)

我会在母TAG中执行setAttribute(“hide”)= currentValue(只允许确保命名的唯一性)onblur ListBox1

...和 ​​- onfocus我会getElementById(“”)。getAttribute(“hide”);