場景: VB6庫通過COM調用.NET程序集中的方法,並打開一個WPF對話框,該對話框包含在另一個早期綁定的.NET程序集中。這個WPF對話框在這個對話框上通過ObservableCollection類型的DependencyProperty獲得了複雜的主/細節實現。該的DependencyProperty看起來是這樣的:DependencyProperty在破壞後保留它的值
public static readonly DependencyProperty ThatDependencyPropertyProperty =
DependencyProperty.Register("ThatDependencyProperty", typeof(ObservableCollection<SomeClass>)
, typeof(MainWindow), new UIPropertyMetadata(new ObservableCollection<SomeClass>()));
問題:後該對話框中獲得通過設置的DialogResult關閉,被完全重新實例化,這DependecyProperty仍然有它的價值和對話仍顯示先前的主/詳細信息。我目前的解決方法是簡單地讓對話框清除它的ctor中的集合,但我當然不喜歡這個......通過兩個實例可以使這個集合保持活躍狀態嗎?
謝謝,我會試試看。 – naacal 2010-08-26 21:09:44