依赖项属性的AddValueChanged发生内存泄漏

时间:2019-03-21 11:55:31

标签: c# wpf memory-leaks dependency-properties

我的应用程序打开和关闭同一视图的次数都不同,并且每次随着循环的进行而变得缓慢。 如果我未在DependencyProperty的ValueChanged事件上附加任何处理程序,则GC将按预期进行收集。如果我在声明中隐式添加它:

public static void main(String[] IncomingInfo) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            try {
                PIN = IncomingInfo[0];
                XmlFile = IncomingInfo[1];

或单独在ctor中:

        public static DependencyProperty selectedCharProperty = DependencyProperty.Register(
        "SelectedChar",
        typeof(Characteristic),
        typeof(GenericGraphicSectionUserControl),
        new PropertyMetadata(OnSelCharChanged)
        );

然后实例不断堆积。 This is the closest question I could find on the matter,但尽管可以编译,但仍无法解决问题。我也尝试过

TypeDescriptor.GetProperties(this)["SelectedChar"].AddValueChanged(this, OnSelCharChanged);

设置我确定控件将被卸载的位置,但是它只会将泄漏延迟一次迭代。还有什么我可以尝试的?

0 个答案:

没有答案