在我的应用中,我在listview的视图模型中做了类似的事情:
public override void RefreshData() {
base.RefreshData();
ItemsSource.Clear();
foreach (var item in ListViewData) {
ItemsSource.Add(item);
}
RaisePropertyChanged("ItemsSource");
}
上面对.Clear()的调用导致调用列表的SelectionChanged事件。考虑到这里没有访问列表视图,是否有一种很好的方法来抑制或阻止该事件被调用?
答案 0 :(得分:0)
我不这么认为。您可能必须实现一个属性,您可以将其设置为告诉事件处理程序暂时忽略该事件,直到所有内容都更新为止。我通常喜欢使用像“DeferSelectionChanged”这样的东西。开始更新时将其设置为true,完成后将其设置为false。