我有一个在ItemsControl
中渲染较重的项目模板,并希望在ItemsSource
发生更改时尽量减少子项目模板的重新创建。我想知道,因为ObservableCollection
可以告诉WPF准确地发生了什么变化(而不仅仅是整个列表),所以在呈现集合变化方面是否更有效率,或者如果WPF检测到相同的项目仍然在更改的列表中,它是否足够聪明以重用先前的项目视图。
我有一个在ItemsControl
中渲染较重的项目模板,并希望在ItemsSource
发生更改时尽量减少子项目模板的重新创建。我想知道,因为ObservableCollection
可以告诉WPF准确地发生了什么变化(而不仅仅是整个列表),所以在呈现集合变化方面是否更有效率,或者如果WPF检测到相同的项目仍然在更改的列表中,它是否足够聪明以重用先前的项目视图。
ObservableCollection 只会通知对象的添加和删除 - 所以如果列表中的对象发生更改,ObservableCollection 将不会触发任何通知,可能不如您预期的那么精确。