2017-04-25 194 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显示了两者的典型用法。

相关问题