0

我有一个ListView 包含 100 个项目,我们可以根据选定的项目进行某些活动。我已经使用EnsureVisible()方法来调整可见性和我的ListView刷新时间来更新数据。

现在我面临的问题是,如果我选择列表中的第一项,然后在此选择期间开始向下翻页(可能选择第 21、59 和第 75 项),我可以在突然控制时突出显示第 1、第 24 和第 56在这种情况下刷新页面,只有第一个选择保留焦点,我失去了其他选择,必须单独或更快地再次浏览。

所以我的问题是我如何选择多个项目并ListView在一定间隔内刷新以填充数据时执行操作EnsureVisible()

这是我现有的代码:

 if (_listviewFirst.SelectedItems.Count > 0)
        {
            _listviewFirst.SelectedItems[_listviewFirst.SelectedItems.Count - 1].EnsureVisible();
            _listviewFirst.SelectedItems[0].EnsureVisible();
        }
4

1 回答 1

1

我将使用ListView.ItemSelectionChanged( MSDNList ) 事件并从选定项目中添加/删除项目(或其引用) 。当您的控件被刷新时,您应该迭代您选择的项目并将这些项目更新为在您的ListView.

您将能够利用e.IsSelectede.Iteme.ItemIndex在事件处理程序中执行此操作。

我根本不会用EnsureVisible这个。

于 2013-01-09T09:38:50.200 回答