WPF DataContext与ItemsSource性能

PaN*_*1Me 2 wpf datacontext performance itemssource

假设我们有一个ItemsControl,它与一个源有关.两者之间是否有任何性能差异

ItemsControl.DataContext = resultSet;
Run Code Online (Sandbox Code Playgroud)

ItemsControl.ItemsSource = resultSet;
Run Code Online (Sandbox Code Playgroud)

(在两种情况下都在XAML中正确绑定)

Mar*_*ris 11

嗯,性能差异并不重要,因为两条线完全不同.DataContext是ItemsControl的本地数据绑定取自的对象:

<ItemsControl Width={Binding Length} />
Run Code Online (Sandbox Code Playgroud)

将对象的Length属性设置为DataContext,并将其绑定到ItemsControl的Width依赖属性.

另一方面,ItemSource是IEnumerable对象,应该迭代该对象以在控件内创建子项.(ItemSource中的每个对象都将成为它创建的子项的DataContext)