我們有一個帶有TabControl的Window的MVVM(Cinch)解決方案。 ItemsSource綁定到CollectionView(由ObservableCollection生成的DefaultView),並且IsSynchronizedWithCurrentItem = true。第一次加載窗口時,一切正常,...標籤顯示正確,用戶可以在它們之間切換。TabControl在Window.Show上丟失選定的選項卡
當窗口被隱藏並再次顯示時,會出現該問題。無論CollectionView中的CurrentItem是什麼,第一個選項卡總是被再次選中。 .Show之前的行將CurrentItem作爲我們需要的選項卡,但在.Show操作期間切換選項卡。
有沒有其他人遇到過這個問題?
我justed測試了這個與演示項目,我不能再現這一點。 http://dl.dropbox.com/u/18919663/mvvmbug.png 2按鈕,1隱藏,1顯示窗口,該窗口具有選項卡視圖,選項卡在隱藏和顯示之間保持不變。 如果您在每次調用中重新初始化第二個窗口,它將重置。 (即Windows2 myWin = new Window2(); myWin.Show();) – Corylulu 2012-02-02 21:44:16
如果你只是調用.Show和.Hide,我不明白爲什麼你會看到一個問題,如果你正在爲每個顯示,那是你的問題。 – Corylulu 2012-02-02 21:45:38
該窗口及其虛擬機在應用程序的整個生命週期中保留,所以我認爲它與MEFedMVVM/Cinch框架有關。 – 2012-02-03 13:32:29