亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WPF綁定未更新,可能是由于值轉換器或依賴項屬性引起的

WPF綁定未更新,可能是由于值轉換器或依賴項屬性引起的

C#
精慕HU 2021-05-11 17:30:01
我已經將代碼縮減為盡可能少的測試用例,但仍然很大。我希望它非常簡單。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 回答

  • 1 回答
  • 0 關注
  • 314 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號