ObservableCollection 在.net 中有什么用?

最佳答案

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

下面的代码实际上并没有做任何事情,而是演示了如何在类中附加处理程序,然后使用事件参数以某种方式对更改使用react。 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
        }
    }
}

关于c# - ObservableCollection 在.net 中有什么用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4279185/

10-17 01:05