我有一个正在设置样式的应用程序,默认大小为1440x900。我希望如果应用程序的大小小于此尺寸,则用户可以上下滚动。

我尝试将ScrollView控件包装在应用程序的主网格控件周围,并且似乎可以正常工作。但是,该应用程序有很多页面,每当我导航到其中具有RadGridView控件的页面时,RadGridView的列都会从页面中展开。

我知道这是由ScrollView控件引起的,因为它基本上是让RadGridView增大到想要的大小。

有什么方法可以阻止RadGridView控件不停地拉伸吗?

最佳答案

Telerik RadGridView控件允许行和列虚拟化,其中控件将回收用于网格每个单元的控件。这样可以减少网格的内存使用量,并使其在处理大量数据时表现更好。启用虚拟化后,并且网格的大小不足以显示其包含的所有数据时,网格将提供自己的滚动条

为了启用虚拟化,RadGridView控件需要具有一定的宽度和高度。将RadGridView放入ScrollViewer可以使其具有无限的宽度和高度,从而禁用了虚拟化。我的建议是使用MaxWidthMaxHeight属性限制网格的宽度和高度,然后将网格从包装了它的ScrollViewer中取出。使用和EnableRowVirtualization属性,但我似乎还记得默认情况下这两个都是EnableColumnVirtualization

免责声明:我没有使用Telerik控件的WPF版本,只有Silverlight版本。两者都来自相同的代码库,因此它们的行为应该相似。

10-07 20:01