如何防止PropertyGrid.Update()减慢速度

时间:2016-07-13 22:41:27

标签: c# wpf

我正在使用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(这很慢)之外,是否有解决方法/修复方法?

1 个答案:

答案 0 :(得分:0)

已经有一段时间了,但是无论如何都要问这个问题。 我现在有同样的问题,我也在xceed论坛上阅读你的帖子。我可以找到任何好的解决方案,所以我开始尝试一些事情......

不要问我为什么,但就我而言,如果我做了以下事情,它会保持稳定的更新时间:

  1. <xctk:PropertyGrid x:Name="PropertyGrid_Eigenschaften" Margin="3" NameColumnWidth="215" SelectedObject="{Binding}"/>
  2. PropertyGrid_Eigenschaften.DataContext = Achse.Eigenschaften;
  3. 我班级中的所有媒体资源都有[RefreshProperties(RefreshProperties.All)]属性
  4. 定期使用PropertyGrid_Eigenschaften.Update();
  5. 刷新PropertyGrid

    它没有我想要的那么快,但至少它是朝着正确方向迈出的第一步。