[英]WPF - Change one ListBox's Items order affect the other ListBox
我有 2 個列表框,它們綁定到相同的源照片(這是照片的集合)
我知道有一種方法可以獲取源(即照片)的 CollectionView,然后對此 CollectionView 的任何更改(例如排序)都會影響綁定到該源的所有目標。
我無法理解的是,為什么當我更改一個 ListBox 的 SortDescriptions 時,我也會看到另一個的更改。
myListBox1.Items.SortDescriptions.Add(new SortDescription("ProperyName",ListDirection.Ascending));
使 myListBox1 和 myListBox2 都被更改..
有任何想法嗎? 謝謝!
來自MSDN :
所有 collections 都有一個默認的 CollectionView。 WPF 始終綁定到視圖而不是集合。 如果直接綁定到集合,WPF 實際上會綁定到該集合的默認視圖。 此默認視圖由集合的所有綁定共享,這會導致集合的所有直接綁定共享一個默認視圖的排序、過濾器、組和當前項特性。 或者,您可以使用可擴展應用程序標記語言 (XAML) 或使用 CollectionViewSource class 的代碼創建集合的視圖,並將控件綁定到該視圖。
您可以在 XAML 中創建一個 CollectionViewSource作為兩個資源,並將您的 ListBoxes 綁定到這些視圖,而不是直接將 collections 綁定到這些視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.