У меня есть приложение WPF. У меня есть кнопка, которая открывает модальное окно в нем, используя для этого ShowDialog () . Я обнаружил, что мое модальное окно является причиной утечки памяти, оно никогда не удаляется, и ему выделяется новый экземпляр. каждый раз.
После глубокого изучения кода и использования профилировщика ANTS я обнаружил, что причиной утечки являются следующие строки. Я использую пользовательские стили для моего приложения. Когда я удаляю стили из файла XAML, окно корректно удаляется.
Что не так в этом статическом конструкторе? это причина утечки.
static StyleWindow()
{
StyleProperty.OverrideMetadata(typeof(StyleWindow),new
FrameworkPropertyMetadata(Application.Current.FindResource(typeof(StyleWindow))));
}
//StyleProperty definition
public static readonly DependencyProperty StyleProperty;
Большое спасибо, любая помощь и идеи приветствуются!