2011-02-26 51 views
0

這個問題一直困擾着我一段時間,我只是無法正確理解。我有多個列表框,每個綁定到不同的列表。最後,我只想保留它,以便在所有列表中一次只選擇一個項目。有任何想法嗎?如何設置數據觸發器以選擇 unselect listbox項目?

這已經非常簡單,但我沒有運氣。我嘗試了gloabl \ static DependencyObject與每個ListBoxItem的Tag屬性匹配的想法,但在更新值時無法在每個列表框中觸發數據觸發器。例如,如果我的表單有不同的列表框,每個列表框都有自己的支持列表集合和他們自己的DataTemplates,我希望能夠從一個列表中選擇一個項目,並使其成爲唯一選定的項目。這意味着我希望其他人不要選擇。我嘗試將ListBoxItem IsSelected屬性綁定到一個MultiBinding,它將唯一的ListBoxItem值與全局值進行比較,但在那裏沒有運氣。

據我所知,IsSynchronizedWithCurrentItem適用於使用相同的後備集合的列表。

+0

現在您不得不詳細說明您要完成的工作:您是否嘗試過使用[IsSynchronizedWithCurrentItem](http://msdn.microsoft.com/zh-cn/library/system.windows.controls .primitives.selector.issynchronizedwithcurrentitem.aspx) – 2011-02-26 17:43:53

回答

0

好吧,這裏一試:

讓您的每一個列表的collectionviewsource.View(如果你還沒有使用這些,get the default views)。在視圖中,您可以訂閱CurrentChanged,並在那裏爲每個其他列表「CollectionViewSource.View」。 MoveCurrentToPosition(-1);

相關問題