繁体   English   中英

WPF DataGrid 的 Items 和 ItemsSource 属性之间有什么区别?

[英]What's the difference between a WPF DataGrid's Items and ItemsSource properties?

从我可以从 Intellisense 收集到的信息来看,不同之处在于返回类型,ItemsSource 有一个 setter,而 Items 只有一个 getter。 但实际上,我不明白需要将这两个属性彼此分开而不仅仅是一个属性。

有人可以向我解释为什么这些是单独的属性而不是一个属性吗?

而且,如果我遗漏了什么,有人可以向我解释什么时候我想使用一个而不是另一个(除了明显需要一个二传手)? 例如,我什么时候特别想在 ItemsSource 上使用 Items?

WPF DataGrid 的 Items 和 ItemsSource 属性之间有什么区别?

DataGrid 是一个 ItemsControl,因此这也适用于所有其他 ItemsControl 类。

  • Items 属性是一个 ItemCollection 并通过 XAML 填充。 它包含对象,但用于 FrameworkElements。

  • ItemsSource 可绑定到一个简单的 IEnumerable,并能够在可用时支持 INotifyCollectionChanged。 它还支持数据模板。

我什么时候特别想在 ItemsSource 上使用 Items?

ItemsSource 用于数据绑定到 ViewModel。

仅在具有固定数量 XAML 项目的少数情况下才使用 Items。 对于 Grid 不太可能,对于 ComboBox 更有用。

你永远不会同时使用两者。

MSDN 页面显示了两者的典型用法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM