2009-08-21 71 views
2

假設我們有一個ItemsControl,它綁定到一個源。 有WPF DataContext vs ItemsSource性能

ItemsControl.DataContext = resultSet; 

ItemsControl.ItemsSource = resultSet; 

之間的性能差異(在這兩種情況下,在XAML正確綁定)

回答

11

好了,性能上的差異其實並不重要,因爲兩行完全不同的東西。 DataContext的是對象的ItemsControl的本地數據綁定都摘自:

<ItemsControl Width={Binding Length} /> 

將採取設置爲DataContext的對象的長度屬性,並將其綁定到的ItemsControl的寬度依賴屬性。

另一方面,ItemSource是IEnumerable對象,它應該迭代以在控件內部創建子項。 (ItemSource中的每個對象將成爲它創建的子項目的DataContext)