2009-12-13 64 views
2

當我嘗試在多個組合框中使用相同的列表時,選擇與所有組合框共享。如何在WPF中使用多個組合框和一個數據源?

我想在組合框中對待數據源作爲自己和選擇不應該被共享。

<ComboBox ItemsSource="{Binding ActiveLanguages}" DisplayMemberPath="Name" /> 

ActiveLanguages是一個ObservableCollection,它是應用程序的單個實例對象。

該組合框是一個模板,然後選擇重演上的模板所有的實例。

+0

你能發佈你的xaml來看看你是如何聲明comboBoxes的?我認爲你需要特異性結合的SelectedItem到同一屬性在DataConext觀察到的行爲... – kiwipom 2009-12-13 00:37:49

+0

*應已DataContext的,很明顯;) – kiwipom 2009-12-13 00:38:34

+0

它沒有托馬斯的解決方案沒有工作的感覺。你能詳細說明完整的代碼,以及如何測試/看到所有組合框共享選擇 – Zied 2009-12-13 05:19:41

回答

5

設置IsSynchronizedWithCurrentItem屬性設置爲false

+0

不起作用:(從幫助文檔,它看起來像你是對的,但... – Rohit 2009-12-13 01:16:36

2

製作副本可以吃取決於列表的大小了大量的內存。

一個更好的方法是使用的BindingSource。

每個UI對象設置它的數據源的BindingSource的新副本。

的BindingSources所有設置其.datasource =的任何列表中,您試圖綁定到同一個實例。

相關問題