我已經將代碼縮減為盡可能少的測試用例,但仍然很大。我希望它非常簡單。Foo具有Bar和Baz類型的ObservableCollection。Baz在Foo中保留對Bar對象的引用的ObservableCollection。主窗口具有一個Foo中所有Baz對象的ListBox,這些對象通過轉換器使其成為純字符串。SelectedItem設置為窗口的DependencyProperty,以方便參考。在窗口的后面,列出了Foo中所有Bar對象的列表,可以通過此DependencyProperty(SelectedBaz)添加/刪除。出于調試目的,添加了另一個ListBox,其中顯示了SelectedBaz的Bar對象。發生的情況是,SelectedBaz被更新,Foo持有的ObservableCollection中的Baz被更新,Foo的Baz集合的CollectionChanged事件被觸發,但是帶有轉換器的ListBox從未更新。我嘗試在整個過程中撒一些'Mode = TwoWay',但沒有任何運氣(由于它們沒有效果,因此刪除了)。我已經嘗試過使用SelectedValue與SelectedItem(從我的研究看來,SelectedItem是執行此操作的正確方法,因此我將其保留了下來)。我嘗試在添加/刪除按鈕單擊中手動觸發Baz ListBox中的綁定目標的更新,但這沒有任何效果。然后,我感到沮喪并嘗試破解它,并使用一個帶有SelectedIndex,MultiBinding,MultiValueConverter等的整數,等等。我發現我也遇到了同樣的問題。Baz ListBox綁定中的源已更新,但目標未更新。
- 1 回答
- 0 關注
- 314 瀏覽
添加回答
舉報
0/150
提交
取消