1

我正在尝试同步 2 个列表视图,以便其中一个实际上是一列的“冻结窗格”(想想 excel 冻结标题)。

但是,我很难在滚动时同步最重要的项目。我需要在 header-list 视图上隐藏垂直和水平滚动条,这可以通过将 Scrollable 设置为 false 来实现。虽然这似乎禁用了“EnsureVisible”和“TopItem”功能?

我已经截获了主列表视图上的滚动条消息,所以我知道何时滚动,只是由于某种原因,我无法更新标题列表视图上的顶部项目以匹配。

我用于更新标题列表视图的代码如下:

//On vertical scroll click...
  if (e.Type == ScrollEventType.EndScroll)
  {
    int index = lvwHeader.FindItemWithText(lvwSource.TopItem.Text).Index;

    ListViewItem item = lvwHeader.Items[index];
    lvwHeader.TopItem = item;

    System.Diagnostics.Debug.WriteLine(lvwHeader.TopItem.Text + " - " + lvwSource.TopItem.Text);
  }

所以我想知道是否有另一种方法可以强制标题列表视图在 Scrollable = false 时将项目设置为主题,或者是否有更好的方法来解决这个问题?

非常感谢

4

0 回答 0