2017-04-25 195 views
-2

從Intellisense中我可以收集到的不同之處在於返回類型,ItemsSource有一個setter,而Items只是一個getter。但實際上,我不明白這兩個房產需要彼此分開,而不僅僅是一個房產。WPF DataGrid的Items和ItemsSource屬性有什麼區別?

有人可以向我解釋爲什麼這些是單獨的屬性,而不是一個屬性?

而且,如果我錯過了某些東西,有人可以請我解釋一下當我想使用另一個(除了明顯需要setter)嗎?例如,何時特別想使用ItemsSource上的Items?

回答

1

WPF DataGrid的Items和ItemsSource屬性有什麼區別?

DataGrid是一個ItemsControl,所以這也適用於所有其他ItemsControl類。

  • Items屬性是一個ItemCollection並通過XAML填充。它包含對象,但用於FrameworkElements。

  • ItemsSource可綁定到簡單的IEnumerable,並且具有在可用時支持INotifyCollectionChanged的能力。它也支持DataTemplates。

我的時候,特意想在的ItemsSource使用項目?

ItemsSource是用於數據綁定到ViewModel。只有在您擁有固定數量的XAML項目的情況下,纔會使用項目。

你從不同時使用兩者。

這個MSDN Page顯示了兩者的典型用法。

相關問題