首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将2个WPF ComboBoxes数据绑定到1个源,而无需“链接”

在这个问题中,您希望将两个WPF ComboBoxes数据绑定到一个源,而无需进行链接。为了实现这一目标,您可以使用一个名为MultiBinding的绑定类型,它允许您将多个数据源绑定到一个控件。以下是一个简单的示例,说明如何将两个ComboBoxes数据绑定到一个源:

  1. 首先,在您的XAML文件中,创建两个ComboBoxes和一个源:
代码语言:xaml<Window.Resources>
复制
    <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>
  1. 接下来,在您的代码文件中,创建一个MultiBinding并将其添加到第一个ComboBox的SelectedItem属性中:
代码语言:csharp
复制
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数据绑定到一个源,而无需进行链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券