WPF控件--ItemsControl
1.ItemsControl是控件吗
ItemsControl可以在Panel中直接使用
<StackPanel> <ItemsControl Name="items"> </ItemsControl> </StackPanel>
直接设置ItemsSource也是可以显示的:
items.ItemsSource = new List<string> {"A","B","C" };
说明ItemsControl和普通的控件是相同的。
2.ItemsControl的控件的特性
ItemsControl是一个可以包含多个项目的控件,可以通过设定ItemsSource或者Items来指定ItemsControl的内容
ItemsSource:
ItemsSource可以是任何实现了IEnumerable的类型,比如说ArrayList,HashTable,Queue,List等等
Items:
可以使用Items.Add方法来手动添加ItemsControl子项,可支持各种类型,如:
items.Items.Add(DateTime.Now); items.Items.Add("String"); Ellipse ellipse = new Ellipse(); ellipse.Width = 40; ellipse.Height = 40; ellipse.Fill = Brushes.Blue; items.Items.Add(ellipse);
显示的结果如下图:
关于ItemsSource和Items的关系:
设定了ItemsSource之后,Items属性将是只读的,且具有固定的大小
如果想恢复使用Items可以将ItemsSource设置为null,此时Items将是一个空的ItemCollection
3.哪些控件继承了ItemsControl
如上图包含了以下控件:
Selector:Combox,ListBox,TabControl,MultiSelector
HeaderdItemsControl:MenuItem,ToolBar,TreeViewItem
MenuBase:ContextMenu,Menu
TreeView
StatusBar
DataGridCellsPresenter
DataGridColumnHeaderPresenter
Celery 标签: WPF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~