"ListBox和ListView之间的区别是什么?"
"ListBox和ListView之间的区别是什么?"
WPF的ListBox和ListView之间有什么区别?我在它们的属性中找不到任何显着的差别。它们的典型用途有所不同吗?
admin 更改状态以发布 2023年5月23日
ListView
允许您为其定义一组视图,并通过使用已定义的视图为您提供本地方式 (WPF
binding
支持) 来控制 ListView
的显示。
示例:
XAML
Code Behind:
private int viewType; public int ViewType { get { return viewType; } set { viewType = value; UpdateProperty("ViewType"); } } private void listv_MouseEnter(object sender, MouseEventArgs e) { ViewType = 1; } private void listv_MouseLeave(object sender, MouseEventArgs e) { ViewType = 2; }
输出:
正常视图:上述 XAML
中的 View 2
鼠标悬停视图:上述 XAML
中的 View 1
如果您尝试在
ListBox
中实现以上内容,可能需要编写更多的ControlTemplate
/ItemTemplate
代码。
ListView
基本上类似于ListBox
(并继承自它),但它还具有一个View
属性。此属性允许您指定一种预定义的显示项的方式。在BCL(Base Class Library)中唯一的预定义视图是GridView
,但您可以很容易地创建自己的视图。
另一个不同之处是默认选择模式:对于ListBox
,它是Single
,但对于ListView
,它是Extended
。