139得票3回答
虚拟化ItemsControl?

我有一个包含数据列表的ItemsControl,我想对其进行虚拟化,但是使用VirtualizingStackPanel.IsVirtualizing="True"在ItemsControl上似乎不起作用。 这是真的吗?或者有其他我不知道的方式可以实现吗? 为了测试,我一直在使用以下代码块...

34得票5回答
虚拟化的 WPF TreeView 滚动非常不稳定。

如果在拥有不同大小项的TreeView中启用了虚拟化,则会出现多个问题: 垂直滚动条会随机更改其大小,并且在查看整个树后不会记住元素的大小,使用鼠标滚动很困难。 上下滚动一段时间后,框架代码会抛出ArgumentNullException异常。 复现很简单:创建一个新的WPF应用程序,...

28得票3回答
VirtualizingStackPanel + MVVM + 多选

我已经实现了一个类似于此帖子中描述的选择模式,使用ViewModel存储IsSelected值,并将 ListViewItem.IsSelected 绑定到ViewModel的IsSelected属性:<ListView.ItemContainerStyle> <St...

24得票1回答
什么是VirtualizingStackPanel中的Recycling/Standard of VirtualizationMode属性的实际区别?

在VirtualizingStackPanel.VirtualizationMode = Recycling/Standard情况下,实际上正在发生什么?

24得票2回答
WPF中StackPanel和VirtualizingStackPanel有什么区别?

在WPF中,StackPanel和VirtualizingStackPanel有什么区别?

22得票1回答
使用MVVM同步多选ListBox

我有两个视图来展示一些数据:一个列表视图(现在是一个ListBox,但我一直想要切换到ListView),和一个在地图上以花式图形呈现的视图。无论在哪个视图中,用户都可以点击一个对象并将其选择。多选也是可能的,所以每个ViewModel实例有它自己的IsSelected属性。 目前我正在将L...

22得票3回答
ListBox、VirtualizingStackPanel和WPF中的平滑滚动

我有一个 ListBox,其中包含许多模板化的数据库记录行,包括一个 Image,绑定到一个 ObservableCollection<MyItem>。有时集合可能会包含数千个项目。 性能很好,但滚动是默认的跳跃行为。我想让它具有平滑的滚动效果,因此取消了 ScrollViewe...

18得票1回答
绑定数据在VirtualizingStackPanel上断开连接

首先,免责声明,我正在使用.NET 3.5的虚拟堆栈面板。如果您在未来版本中获得不同的行为,请让我知道。你可以很容易地设置一个带有listviews的测试用例来测试这个问题。 我在虚拟堆栈面板中有一个物品容器样式,将IsSelected属性绑定到视图模型上。 当我选择视图模型中屏幕外的未选择项...

13得票1回答
使用IsVirtualizing="true"的WPF TreeView在更改焦点和滚动时跳动

我制作了一个简单的示例来重现我在TreeView上遇到的问题。如果我选择TreeView中的一个项目,向下滚动,改变Focus,然后再次选择TreeView中的一个项目,列表开始跳动。 只有当VirtualizingStackPanel.IsVirtualizing="True"时才会发生这...

11得票6回答
滚动到虚拟化ItemsControl的元素

我有一个使用ItemsControl控件在ScrollViewer中显示其项目,并进行虚拟化。我正在尝试将ScrollViewer滚动到其中包含的一个(屏幕外,因此是虚拟的)项目。然而,由于该项目是虚拟的,它并不存在于屏幕上并且没有位置(如果我理解正确的话)。 我已经尝试了对子元素使用Bri...