0

我经常将 20-30 个非常复杂的 UserControl 插入/删除到StackPanel. 所有用户控件都已创建并缓存以供重用。在重用控制之前,我清理旧的父级并记住控制。

像这样的操作在我的场景StackPanel.Children.RemoveStackPanel.Children.Add需要很多时间。

如何优化这些操作?例如,一次插入所有控件StackPanel或在集合修改期间冻结通知或其他?

请问谁知道有用的文章重新分级wpf优化(除了MSDN)?

4

2 回答 2

2

您可以覆盖您的OnCollectionChanged()事件处理程序ObservableCollection,以一起禁用事件处理,或者将事件排队以供稍后处理。

请参阅此处的帖子,答案可以帮助您 - https://stackoverflow.com/a/5491534/903056

于 2012-06-20T19:25:31.897 回答
1

我假设您需要研究虚拟化 UI 或数据加载(如果有)策略。

在这种特定情况下,使用控件VirtualizingStackPanel来减少 UI 绘制的内容。您可以在博客上获得更多信息。

于 2012-06-20T19:30:20.377 回答