![](/img/trans.png)
[英]Difference between WPF DataGrid's EnableRowVirtualization and VirtualizingStackPanel.IsVirtualizing properties
[英]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.