我正在我们的系统中试验 WPF 和 MVVM。但是,我在仅使用 MVVM(不执行额外的 CollectionViews)的情况下将列表中的内容保持选中状态时遇到了问题。 我目前拥有的是列表
ObservableCollection<ReservationCustomerList> Customers;
然后是存储所选客户的属性
ReservationCustomerList SelectedCustomer;
在我看来,当列表重新加载时(实际上是从另一个异步线程),选择应该能够保留,但是这不会发生。
有人有实现此目的的简洁方法吗?
最佳答案
我们的做法是不替换集合。如果需要,我们添加/删除了条目并更新了现有条目。这将保持选择。
您可以使用 Except 等 LINQ 方法来识别新的或已删除的项目。
关于c# - 重新加载 ItemsSource 时如何在 ListBox 中保留选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551190/