2013-07-13 196 views
0

我有一個wpf中的兩個組合框的問題。第一和第二組合框有一個項目相同的價值觀喜歡這裏:c#和wpf - 當選擇另一個組合框的項目時如何更改組合框項目

ComboBox1:
豐田
高爾夫
迷你

ComboBox2
豐田
高爾夫
迷你

所以當我選擇ComboBox1的一個項目「Toyota」時,我希望ComboBox2自動更改此選定項目的值,並且vica也是如此。如何在C#中做到這一點?或者我應該將comboBox1綁定到ComboBox2?我從來沒有這樣做過。您的代碼將不勝感激。謝謝!!

回答

0

如果兩個ComboBox控制共享項目的同一集合,然後他們兩個設置IsSynchronizedWithCurrentItemTrue

<ComboBox IsSynchronizedWithCurrentItem="True" ... /> 

所以例如,它可以是這樣的:

<StackPanel xmlns:sys="clr-namespace:System;assembly=mscorlib"> 
    <StackPanel.Resources> 
     <x:Array Type="{x:Type sys:String}" x:Key="CarList"> 
      <sys:String>Toyota</sys:String> 
      <sys:String>Golf</sys:String> 
      <sys:String>Mini</sys:String> 
     </x:Array> 
    </StackPanel.Resources> 
    <ComboBox IsSynchronizedWithCurrentItem="True" ItemsSource="{StaticResource CarList}"/> 
    <ComboBox IsSynchronizedWithCurrentItem="True" ItemsSource="{StaticResource CarList}"/> 
</StackPanel> 
+0

@dkozi我想你的代碼。它不工作。看這裏: user235973457

+0

@ user235973457,你如何定義項目?我沒有看到綁定到'ItemsSource' – dkozl

+0

@ user235973457,我已經更新了我的答案,其中的例子是有效的。兩個'ComboBox'控件都必須共享一個集合 – dkozl

相關問題