Scénario: Une bibliothèque VB6 appelle une méthode dans un assembly .NET via COM et ouvre une boîte de dialogue WPF, contenue dans un autre assembly .NET lié prématurément. Ce WPF-Dialog a obtenu une implémentation complexe maître/détail sur une DependencyProperty de type ObservableCollection dans cette boîte de dialogue. Le DependencyProperty ressemble à ceci:DependencyProperty conserve sa valeur après la destruction
public static readonly DependencyProperty ThatDependencyPropertyProperty =
DependencyProperty.Register("ThatDependencyProperty", typeof(ObservableCollection<SomeClass>)
, typeof(MainWindow), new UIPropertyMetadata(new ObservableCollection<SomeClass>()));
Problème: Après cette boîte de dialogue se ferme par la mise en DialogResult et est complètement instancié re, ce DependecyProperty a obtenu encore ses valeurs et la boîte de dialogue affiche toujours le précédent maître/informations détaillées. Ma solution de contournement actuelle consiste simplement à laisser la boîte de dialogue effacer la collection dans son ctor, mais je n'aime certainement pas ça ... qu'est-ce qui pourrait garder cette collection vivante à travers deux instanciations?
Merci, je vais essayer. – naacal