【发布时间】:2015-06-25 18:32:33
【问题描述】:
我正在开发一个 Windows 10 通用应用程序,当我在我的应用程序中使用 ListView 时发现一些闪烁问题。我的 ListView 正在使用 x:Bind 绑定到我的视图模型中的 ObservableCollection。
当用户执行某些操作或发生后台更新时,我会执行一些需要刷新 ObservableCollection 的处理。
private ObservableCollection<Item> UIItems = new ObservableCollection<Item>();
private bool IsUpdating = false;
private void UpdateUIProperties(List<Item> newItems)
{
DispatcherHelper.CheckBeginInvokeOnUI(() =>
{
IsUpdating = true;
UIItems.Clear();
foreach (var item in newItems)
{
if (item.IsVisible)
{
UIItems.Add(item);
}
}
IsUpdating = false;
});
}
执行此代码后,ListView 闪烁,然后 Scrollviewer 一直到顶部。有什么办法可以防止这种情况,让 ListView 的 ScrollViewer 保持原来的偏移量?
【问题讨论】:
标签: xaml listview win-universal-app