如何防止 PropertyGrid.Update() 变慢
本文关键字:变慢 Update 何防止 PropertyGrid | 更新日期: 2023-09-27 17:56:55
我正在使用 Xceed PropertyGrid
WPF 控件。
由于我需要频繁快速地刷新网格中的对象值,因此我使用了属性网格的Update
方法:https://xceed.com/wp-content/documentation/xceed-toolkit-plus-for-wpf/Xceed.Wpf.Toolkit~Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid~Update.html
但是,我注意到每次调用该方法时,这都会变得越来越慢。例如,此代码模拟逐渐减速:
// Takes 618 ms
for (var x = 0; x < 100; x++) PGMain.Update();
// Takes 1649 ms
for (var x = 0; x < 100; x++) PGMain.Update();
// Takes 2739 ms
for (var x = 0; x < 100; x++) PGMain.Update();
// Takes 3730 ms
for (var x = 0; x < 100; x++) PGMain.Update();
其他人遇到了这个错误/问题?
除了重新分配SelectedObject
(速度很慢)之外,是否有其他解决方法/修复?
自从提出这个问题以来已经有一段时间了,但无论如何。我现在遇到了同样的问题,我也在 xceed 论坛上阅读了您的帖子。我可以找到任何好的解决方案,所以我开始尝试一些事情......
不要问我为什么,但就我而言,如果我执行以下操作,它就会保持稳定的更新时间:
-
<xctk:PropertyGrid x:Name="PropertyGrid_Eigenschaften" Margin="3" NameColumnWidth="215" SelectedObject="{Binding}"/>
-
PropertyGrid_Eigenschaften.DataContext = Achse.Eigenschaften;
- 我的类中的所有属性都有一个
[RefreshProperties(RefreshProperties.All)]
属性 - 使用
PropertyGrid_Eigenschaften.Update();
定期刷新属性网格
它没有我希望的那么快,但至少它是朝着正确方向迈出的第一步。