WPF ListView即时更新

简介: 原文:WPF ListView即时更新1、ListView 的 ItemSource 使用 BindingList < T >;  注:由于 List < T > 没有实现 INotifyPropertyChanged 接口,    因此若使用 List < T > 作为 ItemSource...
原文: WPF ListView即时更新

1、ListView 的 ItemSource 使用 BindingList < T >;

 注:由于 List < T > 没有实现 INotifyPropertyChanged 接口,

   因此若使用 List < T > 作为 ItemSource,则当 ListView 新增、删除 Item 时,ListView UI 会不能即时更新;

 

2、对应 ListView 的 Item 的类 T 实现 INotifyPropertyChanged 接口;

  T 中 UI 绑定对应的属性 Set 设值后,调用 PropertyChanged() 函数以通知 UI 该属性已改变,示例如下:

  public partial class MainWindow : Window
  {
    public MainWindow()
    {
      InitializeComponent();

      BindingList<Customer> listCustomer = new BindingList<Customer>();
      listCustomer.Add(new Customer() { Name = "ZhangSan" });
      listView.ItemsSource = listCustomer;
    }
  }
  public class Customer : INotifyPropertyChanged
  {
    public string name;
    public string Name
    {
      get { return name; }
      set { name = value; OnPropertyChanged(new PropertyChangedEventArgs("Name")); }
    }

    #region // INotifyPropertyChanged成员
    public event PropertyChangedEventHandler PropertyChanged;
    public void OnPropertyChanged(PropertyChangedEventArgs e)
    {
      if (PropertyChanged != null)
      {
        PropertyChanged(this, e);
      }
    }
    #endregion
  }

目录
相关文章
|
数据处理 C# 索引
WPF技术之ListView控件
WPF ListView控件是一个用来显示集合数据的控件,它以表格形式呈现数据,并支持对数据进行排序、筛选和操作。
335 0
WPF-样式问题-处理ListBox、ListView子项内容全填充问题
WPF-样式问题-处理ListBox、ListView子项内容全填充问题
248 0
WPF-样式问题-ListBox或ListView中子项全填充去除边线问题
WPF-样式问题-ListBox或ListView中子项全填充去除边线问题
194 0
|
前端开发 C#
【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header
原文:【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header 一个ListView的MVVM简单例子: ...
1608 0
|
C#
WPF ListView展示层叠信息
原文:WPF ListView展示层叠信息 通常我们在ListView中展示一列同类数据,例如城市名称。不过可以对ListView的DataTemplate稍作修改,让其显示层叠信息。例如:需要在ListView中显示省份和省份对应的城市名称。
1118 0
|
前端开发 C#
WPF MVVM模式下实现ListView下拉显示更多内容
原文:WPF MVVM模式下实现ListView下拉显示更多内容 在手机App中,如果有一个展示信息的列表,通常会展示很少一部分,当用户滑动到列表底部时,再加载更多内容。这样有两个好处,提高程序性能,减少网络流量。
1559 0
|
C# Windows
WPF ItemsControl ListBox ListView比较
原文:WPF ItemsControl ListBox ListView比较 在进行列表信息展示时,WPF中提供多种列表可供选择。这篇博客将对WPF ItemsControl, ListBox, ListView进行比较。
1160 0
|
大数据 C#
利用WPF的ListView进行大数据量异步加载
原文:利用WPF的ListView进行大数据量异步加载      由于之前利用Winform的ListView进行大数据量加载的时候,诟病良多,所以今天试着用WPF的ListView来做了一下,结果没有让我失望,我将一个拥有43000行,510列的csv文件导入到了ListView中,总共耗时在10s左右,并且在导入的过程中,软件界面上的提示信息一直在提示当前导入了多少条。
1735 0
|
C#
WPF 获取 ListView DataTemplate 中控件值
原文:WPF 获取 ListView DataTemplate 中控件值 版权声明:本文为博主原创文章,未经博主允许可以随意转载 https://blog.csdn.
1692 0
|
C#
用WPF实现在ListView中的鼠标悬停Tooltip显示
原文:用WPF实现在ListView中的鼠标悬停Tooltip显示 一、具体需求描述     在WPF下实现,当鼠标悬停在ListView中的某一元素的时候能弹出一个ToolTip以显示需要的信息。 二、代码实现 在.XMAL文件中   Code   在listview 元素中加入ItemContainerStyle="{StaticResource InfoTipStyle}" 如下所示代码: Code   三、心得     调用顺序就是listview呈现出预定的style, InfoTipStyle 调用声明好的tooltip。
1821 0