我经常在StackPanel
中插入/删除20-30个非常复杂的UserControls。
已创建并缓存所有UserControl以供重用。在重新使用控制之前,我清理旧的父母并记住控制。
StackPanel.Children.Remove
,StackPanel.Children.Add
等操作会在我的方案中花费大量时间。
如何优化这些操作?例如。一次插入StackPanel
中的所有控件或在收集修改期间冻结通知,否则?
谁知道有用的文章重新划分wpf优化(MSDN除外)?
答案 0 :(得分:2)
您可以覆盖OnCollectionChanged()
的{{1}}事件处理程序,以便一起禁用事件处理,或者将事件排队以便以后处理。
在此处查看帖子,答案可以为您提供帮助 - https://stackoverflow.com/a/5491534/903056
答案 1 :(得分:1)
我假设你需要研究虚拟化UI或数据加载(如果有的话)策略。
在这种特定情况下,使用像VirtualizingStackPanel
这样的控件来使UI绘制更少的东西。您可以在this博客上获得更多信息。