派生文本框控件的WPF性能问题



我有一个WPF应用程序,它根据保存在数据库中的表单配置呈现输入表单。

表单有许多控件(100多个),其中大多数控件派生自textbox控件。在一些机器上(快速硬件,Win7 32Bit,还有一些老的,Windows XP 32Bit),在向这些表单输入数据后,输入性能下降。每次击键都会有几毫秒的延迟,解决这个问题的唯一解决方案是关闭应用程序并重新启动它。

我的派生控件覆盖DefaultStyleKeyProperty的元数据来设置自定义模板。

我目前正在研究在科技内存分析器的应用程序,但也许有人已经经历了与派生文本框类似的问题,可以给我一个提示,并节省我一些小时/天调查的问题?


看这里

听起来你可能有什么东西阻止了"used forms"上的控件被GCed。

首先打开并使用尽可能多的窗体,查看windows任务管理器,看看你的内存使用是否在上升,如果不是,没有必要寻找内存韭菜

检查您是否删除了窗体/控件放置在任何长寿对象上的所有事件处理程序。

检查要实现INotifyPropertyChanged的数据绑定的任何对象,参见KB938416

我过去使用Red Gate内存分析器获得了很好的结果。

你不需要创建用户看不到的控件,100多个控件将是有成本的。

你可以在虚拟模式下使用列表控件,这样你的文本框控件只在可见时创建

最新更新