In my .NET 3.5
WPF
申请,我有一个WPF
DataGrid
其中将填充 500 列和 50 行。
应用程序的性能在滚动时非常非常差,或者当我滚动时DataGrid.Items.Refresh()
或在选择行时。
实际上应用程序将需要大约 20 秒来更新布局。Layout_Updated()
事件将在 20 秒后触发。
如果我将列数减少到 50 或更少,应用程序的响应速度将会非常快。根据我的发现,性能与列数直接相关。
我该如何改进DataGrid
表现?
您可以打开一些选项来帮助您DataGrid object
EnableColumnVirtualization = true
EnableRowVirtualization = true
我认为这两个是可能有帮助的主要内容。接下来尝试使您的绑定异步
ItemsSource="{Binding MyStuff, IsAsync=True}"
最后,我听说设置最大高度和宽度可以有所帮助,即使它高于最大屏幕尺寸,但我自己没有注意到差异(声称与自动尺寸测量有关)
MaxWidth="2560"
MaxHeight="1600"
也从不放一个DataGrid
in a ScrollViewer
,因为你基本上会失去虚拟化。让我知道这是否有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)