Wpf 设置ItemsSource时保留状态

Wpf 设置ItemsSource时保留状态,wpf,conceptual,Wpf,Conceptual,我有一个机构类型{警察、火灾、紧急情况}的列表框(列表框1) 当用户选择代理类型时,通过设置项目源,另一个列表框(ListBox2)将填充(名称,复选框) 问题是,如果我选择“警察”,然后选中一个复选框,然后选择“火灾”,然后再次选择“警察”,复选框状态将丢失。我知道复选框状态丢失是因为我正在重置ItemsSource,但我想知道正确的方法是什么 ListBox1 [Police] is selected [Fire] [Emergency] ListBox2 [ Name, CheckBo

我有一个机构类型{警察、火灾、紧急情况}的列表框(列表框1)

当用户选择代理类型时,通过设置项目源,另一个列表框(ListBox2)将填充(名称,复选框)

问题是,如果我选择“警察”,然后选中一个复选框,然后选择“火灾”,然后再次选择“警察”,复选框状态将丢失。我知道复选框状态丢失是因为我正在重置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]
我将在Blur ListBox1的母标记中执行setAttribute(“hide”)=currentValue(仅允许确保命名的唯一性)


…和-onfocus我将getElementById(“”).getAttribute(“隐藏”)

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