gpt4 book ai didi

wpf - 使用 ItemsSource 和 foreach 循环在 ListView 中分配数据有什么区别?

转载 作者:行者123 更新时间:2023-12-04 18:33:46 26 4
gpt4 key购买 nike

以下代码片段之间有什么区别吗?
我正在使用 VS 2010、.NET 4、WPF

代码片段 1:

List listEPutAway = new List ();
//这里在 listEPutAway 中分配一些数据
lvPutWaySearch.ItemsSource = listEPutAway;//lvPutWaySearch 是一个 ListView

代码片段 2:

List listEPutAway = new List ();
//这里在 listEPutAway 中分配一些数据
foreach(listEPutAway 中的 var ePutAway)
{
lvPutWaySearch.Items.Add(ePutAway);//lvPutWaySearch 是一个 ListView
}

最佳答案

有一个差别很大 .

在第一种情况下,您是 binding to the listEPutAway collection .这意味着如果集合实现 INotifyCollectionChanged ,对它的任何更改都会自动反射(reflect)在绑定(bind)到它的控件中。

当然,在这个具体的例子中,List (究竟是哪个类?)可能没有实现这个接口(interface)。通常在绑定(bind)时您选择绑定(bind)到 ObservableCollection<T> 出于这个特定的原因。

在第二种情况下,您手动将项目列表提供给控件。然后,控件中的数据完全独立于您的应用程序中可能发生的任何其他事情。

WPF 的主要吸引力之一是专门支持数据绑定(bind),因此“WPF 方式”是第一个场景(并且也在 XAML 中声明绑定(bind))。

作为旁注,您应该记住不能使用 Items (手动人口)和ItemsSource (数据绑定(bind))同时。

关于wpf - 使用 ItemsSource 和 foreach 循环在 ListView 中分配数据有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com