185得票13回答
ObservableCollection不支持AddRange方法,因此我会对添加的每个项目收到通知,除此之外,INotifyCollectionChanging怎么样?

我希望能够添加一个范围并得到整个批量的更新。 同时,我也希望在操作完成之前能够取消操作(即除“更改”之外的集合更改)。 相关问题 使用哪种.Net集合可以一次添加多个对象并获得通知?

27得票3回答
如何在ObservableCollection上引发CollectionChanged事件,并将更改的项传递给它?

我有一个继承自ObservableCollection的类,并添加了一些额外的方法,如AddRange和RemoveRange 我的基本方法调用如下:public void AddRange(IEnumerable<T> collection) { foreach (va...

20得票4回答
可观察的栈和队列

我正在寻找一个实现了INotifyCollectionChanged接口的Stack和Queue。虽然我可以自己实现,但我不想重复造轮子。

16得票3回答
通知集合更改操作重置值是什么?

我有一个可观察集合...SelectableDataContext<T>..而在泛型类SelectableDataContext<T>中有两个私有成员变量 私有的T项。 私有布尔值isSelected。 当IsSelected属性更改时...我的集合的更改属性没...

15得票1回答
ObservableCollection元素级转换/投影包装器

在WPF中创建ViewModels时,有时需要将可用于源集合ObservableCollection的数据转换为扩展/限制/投影原始元素(目标集合)的包装器元素集合,而元素的数量和顺序始终反映原始集合。与Select扩展方法类似,只是它会持续更新,因此可用于WPF绑定。如果在源集合中添加了第x...

13得票4回答
CollectionChanged和Items的IList - 为什么会有困难

我正在研究为什么使用参数为IList的CollectionChanged调用ObservableCollection/ListCollectionView/CollectionView会引发NotSupportedException异常。//Throws an exception privat...

11得票3回答
如何使用ConcurrentDictionary、INotifyCollectionChanged和INotifyPropertyChanged创建自定义可观察集合

我正在尝试创建一个ObservableConcurrentDictionary对象。该对象将用于多线程应用程序,并且它的数据将通过控件的ItemsSource属性填充到控件中。 这是我想出的实现方式:public sealed class ObservableConcurrentDictio...

11得票1回答
可观察集合在MVVM中如何实现属性变更通知

我正在尝试将可观察集合绑定到DataGrid,希望在DataGrid中编辑任何行时进行通知。 我的代码可以在记录添加或删除时正常工作,但在记录编辑时无法通知。 请告诉我是否使用可观察集合在MVVM中进行绑定的正确方法,以及我是否遗漏了什么。提前感谢。public class studentVi...

9得票3回答
WPF:如何钩取ListView的ItemsSource集合变更通知?

我有一个ListView,它是绑定到一个ObservableCollection的... <ListView x:Name="List1" ItemsSource="{Binding MyList}" /> 我似乎找不到任何在集合更改时触发的事件,所以我想我需要以某种方式钩入...

9得票3回答
在集合更改事件上,我能否回滚集合更改?

我有两个列表视图...它们之间有添加/删除按钮。 在ViewModel中的ListView集合发生更改事件时,我能否针对特定条件回滚更改?