【问题标题】:unselects the items on top when scrolling to bottom滚动到底部时取消选择顶部的项目
【发布时间】:2013-01-04 21:08:09
【问题描述】:

我有一个 WPF listbox。这些项目绑定到listbox

当我选择listbox 顶部的几个项目并向下滚动到listbox 的底部以选择其他项目时,之前在顶部选择的项目将被取消选择。

我发现此行为将选择模式设置为“扩展”和“多个”。请指教。

【问题讨论】:

  • 您是否设置了 ScrollViewer.CanContentScroll=True?可能会这样做......
  • 是虚拟化的结果吗?也许顶部的项目在滚动到视野之外时正在被卸载。查看this answer 了解有关列表框虚拟化的信息。
  • 我尝试设置 ScrollViewer.CanContentScroll=True,但行为仍然相同。有时,我发现顶部的一些选定项目保持选中状态,而其他项目未选中。这是一个虚拟化问题。在设置 ScrollViewer.CanContentScroll=False 时,虚拟化被关闭并且它按预期工作。但是,这可能会稍微影响性能。非常感谢!!

标签: wpf listbox scroll selection unselect


【解决方案1】:

尝试关闭虚拟化

<ListBox VirtualizingStackPanel.IsVirtualizing="False" 
                       ItemsSource="{Binding XPath=Team}" 
                       ItemTemplate="{DynamicResource NameDataStyle}"/> 

【讨论】:

    【解决方案2】:

    仅供参考 - 对于与 Silverlight 合作并找到此答案的任何人,请尝试使用:

    VirtualizingStackPanel.VirtualizationMode="Standard"
    

    【讨论】:

      猜你喜欢
      • 2021-10-18
      • 2015-06-26
      • 2020-07-06
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      相关资源
      最近更新 更多