小编典典

.net 中的 ObservableCollection 有什么用?

all

.net 中的 ObservableCollection 有什么用?


阅读 63

收藏
2022-05-26

共1个答案

小编典典

ObservableCollection 是一个集合,它允许集合外部的代码知道何时对集合进行更改(添加、移动、删除)。它在 WPF 和
Silverlight
中被大量使用,但它的使用不仅限于此。代码可以添加事件处理程序以查看集合何时发生更改,然后通过事件处理程序做出反应以进行一些额外的处理。这可能是更改 UI
或执行一些其他操作。

下面的代码实际上并没有做任何事情,而是演示了如何在类中附加处理程序,然后使用事件参数以某种方式对更改做出反应。WPF 已经有许多操作,例如刷新内置的
UI,因此您可以在使用 ObservableCollections 时免费获得它们

class Handler
{
    private ObservableCollection<string> collection;

    public Handler()
    {
        collection = new ObservableCollection<string>();
        collection.CollectionChanged += HandleChange;
    }

    private void HandleChange(object sender, NotifyCollectionChangedEventArgs e)
    {
        foreach (var x in e.NewItems)
        {
            // do something
        }

        foreach (var y in e.OldItems)
        {
            //do something
        }
        if (e.Action == NotifyCollectionChangedAction.Move)
        {
            //do something
        }
    }
}
2022-05-26