Сценарий: Библиотека VB6 вызывает метод в .NET-Assembly через COM и при этом открывает WPF-Dialog, который содержится в другой .NET-Assembly, которая имеет раннюю привязку.Этот WPF-диалог получил сложную реализацию master / detail над DependencyProperty типа ObservableCollection в этом диалоговом окне.Свойство DependencyProperty выглядит примерно так:
public static readonly DependencyProperty ThatDependencyPropertyProperty =
DependencyProperty.Register("ThatDependencyProperty", typeof(ObservableCollection<SomeClass>)
, typeof(MainWindow), new UIPropertyMetadata(new ObservableCollection<SomeClass>()));
Проблема: После закрытия этого диалогового окна через настройку DialogResult и его полной переустановки у этого объекта DependecyProperty все еще есть свои значения, и диалоговое окнопо-прежнему отображается предыдущий мастер / подробная информация.Мой текущий обходной путь - просто позволить диалогу очистить коллекцию в его ctor, но мне, конечно, это не нравится ... что может поддерживать эту коллекцию в двух экземплярах?