从Intellisense收集的内容来看,不同之处在于返回类型,而ItemsSource有一个setter,而Items只有一个getter。实际上,我不明白这两个属性是否需要彼此分开,而不仅仅是一个属性。
有人可以向我解释为什么这些是单独的属性而不仅仅是一个属性?
而且,如果我遗失了某些东西,有人可以在我想要使用其中一个时解释给我(除了明显需要一个制定者)吗?例如,具体到什么时候我想在ItemsSource上使用Items?
答案 0 :(得分:3)
WPF DataGrid的Items和ItemsSource属性之间的区别是什么?
DataGrid是一个ItemsControl,所以这也适用于所有其他ItemsControl类。
Items
属性为ItemCollection
,并通过XAML填写。它包含对象,但是用于FrameworkElements。
ItemsSource可绑定到一个简单的IEnumerable,并且能够在可用时支持INotifyCollectionChanged。它还支持DataTemplates。
具体到什么时候我想在ItemsSource上使用Items?
ItemsSource用于数据绑定到ViewModel。您只能在具有固定数量的XAML项目的少数情况下使用项目。
你永远不会同时使用两者。
此MSDN Page显示两者的典型用法。