views:

758

answers:

1

Hi!

Suppose we have an ItemsControl, which is bounded to a source. Is there any performance difference between

ItemsControl.DataContext = resultSet;

and

ItemsControl.ItemsSource = resultSet;

(In both cases correctly binded in XAML)

+2  A: 

Well, a performance difference doesn't really matter since the two lines do completely different things. The DataContext is the object that local databindings of the ItemsControl are taken from:

<ItemsControl Width={Binding Length} />

Will take the Length property of the object set as the DataContext and bind it to the Width dependency property of the ItemsControl.

On the other hand the ItemSource is the IEnumerable object that should be iterated to create the child items inside the control. (Each object inside the ItemSource will become the DataContext of the child item it created)

Martin Harris