【问题标题】:Suppress ListView selection changed when clearing items from the observable collection从可观察集合中清除项目时抑制 ListView 选择更改
【发布时间】:2014-07-22 20:41:36
【问题描述】:

在我的应用中,我在我的列表视图的视图模型中做这样的事情:

public override void RefreshData() {
    base.RefreshData();

    ItemsSource.Clear();

    foreach (var item in ListViewData) {
        ItemsSource.Add(item);
    }

    RaisePropertyChanged("ItemsSource");
}

上面对 .Clear() 的调用会导致调用列表的 SelectionChanged 事件。考虑到此处无法访问列表视图,是否有一种抑制或阻止调用该事件的好方法?

【问题讨论】:

    标签: c# wpf listview


    【解决方案1】:

    我不这么认为。您可能必须实现一个属性,您可以设置该属性来告诉事件处理程序在一段时间内忽略该事件,直到所有内容都更新。我通常喜欢使用“DeferSelectionChanged”之类的东西。开始更新时设置为 true,完成时设置为 false。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      相关资源
      最近更新 更多