在 Avalonia UI 中,ItemsControl
和 ItemsRepeater
都是用于显示数据集合的控件。尽管它们用途用途相似,但在设计理念和使用场景上有一些重要的区别。
ItemsRepeater
是从 WinUI 库移植的控件。以前,这个移植是 Avalonia UI 本身的一部分,现在是独立的存储库。
NuGet 包:Avalonia.Controls.ItemsRepeater
https://www.nuget.org/packages/Avalonia.Controls.ItemsRepeater
该控件目前已退役。如果可能,建议使用 Avalonia 包中内置的基于 ItemsControl 的控件。12.0 版本发布后,此存储库将被存档。https://github.com/AvaloniaUI/Avalonia.Controls.ItemsRepeater
ItemsControl
和 ItemsRepeater
都可以绑定到数据集合。ItemsControl
更注重通用性和灵活性。ListBox
, ComboBox
, TreeView
等。它通过 ItemTemplate
来定义每个项的外观。VirtualizingLayout
一起使用,以提供高度可定制的布局和虚拟化支持。StackPanel
, WrapPanel
)一起使用,并可以启用虚拟化支持(如 VirtualizingStackPanel
)。VirtualizingLayout
紧密结合,提供更高效的虚拟化和布局能力。ItemsControl
更加通用和灵活,适合多种数据展示需求,而 ItemsRepeater
则专注于高性能和高效的布局与虚拟化,适合处理大量数据的场景。使用 ItemsRepeater
前需要安装额外的 NuGet 包,且后期可能被归档。如果并不是对性能有极致的要求,推荐默认使用ItemsControl
控件。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。