在这个问题中,您希望将两个WPF ComboBoxes数据绑定到一个源,而无需进行链接。为了实现这一目标,您可以使用一个名为MultiBinding
的绑定类型,它允许您将多个数据源绑定到一个控件。以下是一个简单的示例,说明如何将两个ComboBoxes数据绑定到一个源:
<x:Array x:Key="myArray" Type="{x:Type sys:String}">
<sys:String>Item 1</sys:String>
<sys:String>Item 2</sys:String>
<sys:String>Item 3</sys:String>
</x:Array>
</Window.Resources><StackPanel>
<ComboBox x:Name="comboBox1" />
<ComboBox x:Name="comboBox2" />
</StackPanel>
MultiBinding
并将其添加到第一个ComboBox的SelectedItem
属性中:using System.Windows.Data;
public MainWindow()
{
InitializeComponent();
// 创建一个MultiBinding
MultiBinding multiBinding = new MultiBinding();
multiBinding.Mode = BindingMode.TwoWay;
// 添加第一个ComboBox的绑定
Binding binding1 = new Binding("SelectedItem");
binding1.Source = comboBox1;
multiBinding.Bindings.Add(binding1);
// 添加第二个ComboBox的绑定
Binding binding2 = new Binding("SelectedItem");
binding2.Source = comboBox2;
multiBinding.Bindings.Add(binding2);
// 将MultiBinding添加到第一个ComboBox的SelectedItem属性中
comboBox1.SetBinding(Selector.SelectedItemProperty, multiBinding);
}
现在,当您更改第一个ComboBox的选定项时,第二个ComboBox的选定项也会相应地更改。同样,当您更改第二个ComboBox的选定项时,第一个ComboBox的选定项也会相应地更改。这样,您就可以将两个WPF ComboBoxes数据绑定到一个源,而无需进行链接。
领取专属 10元无门槛券
手把手带您无忧上云