如何避免ListBox或ListView中选中的复选框闪烁? [重复]

|                                                                                                                   这个问题已经在这里有了答案:                                                      
已邀请:
抱歉,我对XAML不太了解,但是您可以尝试这种方法吗? 注意:我认为您不能在XAML中使用BackgroundWorker对象,但是可以在另一个类中使用它,并找到一种将数据传递到其中的方法。 这里的主要思想是将您的工作转移到另一个线程,并在该线程中进行填充。 ...虽然,我必须说:如果您真的将所有项目都添加到一行中(如下面的修改示例所示),我怀疑是否会因此而引起任何闪烁。您的闪烁可能来自其他地方。数据源更改时是否触发任何事件处理程序?
void Button_Click(object sender, RoutedEventArgs e) {
  using (BackgroundWorker worker = new BackgroundWorker()) {
    var items = new int[10000];
    worker.DoWork += delegate {
      for (int i = 0; i < items.Length; i++)
        items[i] = i + 1;
    };
    worker.RunWorkerCompleted += delegate {
      listBox.ItemsSource = items;
    };
    worker.RunWorkerAsync();
  }
}
    
您是否尝试过双缓冲。     

要回复问题请先登录注册