簡體   English   中英

WPF - 更改一個 ListBox 的項目順序會影響另一個 ListBox

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM