C# 在组合框中选择一项将禁用所有其他组合框中的同一项

C# 在组合框中选择一项将禁用所有其他组合框中的同一项,c#,wpf,combobox,C#,Wpf,Combobox,假设我有多个组合框,每个组合框都有相同的项目列表 如果在任何一个组合框中选择了某个项目,则需要在所有其他组合框中禁用给定项目 如果用户更改了任何组合框的选择,则先前选择的项目应该可以在所有组合框中自由选择 这是为了防止用户在所有组合框中选择重复项 我知道这听起来像是一组复选框可以做到这一点,但在这种情况下,我不能做到这一点。每个组合框都与其他内容相关联,它们都指向一个公共的项目池。我需要知道什么与什么有关 关于如何实现这一点有什么想法吗 <ComboBox x:Name="cb1">

假设我有多个组合框,每个组合框都有相同的项目列表

如果在任何一个组合框中选择了某个项目,则需要在所有其他组合框中禁用给定项目

如果用户更改了任何组合框的选择,则先前选择的项目应该可以在所有组合框中自由选择

这是为了防止用户在所有组合框中选择重复项

我知道这听起来像是一组复选框可以做到这一点,但在这种情况下,我不能做到这一点。每个组合框都与其他内容相关联,它们都指向一个公共的项目池。我需要知道什么与什么有关

关于如何实现这一点有什么想法吗

<ComboBox x:Name="cb1">
    <ComboBoxItem>asdf</ComboBoxItem>
    <ComboBoxItem>qwerty</ComboBoxItem>
    <ComboBoxItem>1234</ComboBoxItem>
    <ComboBoxItem>zxcv</ComboBoxItem>
</ComboBox>

<ComboBox x:Name="cb2">
    <ComboBoxItem>asdf</ComboBoxItem>
    <ComboBoxItem>qwerty</ComboBoxItem>
    <ComboBoxItem>1234</ComboBoxItem>
    <ComboBoxItem>zxcv</ComboBoxItem>
</ComboBox>

<ComboBox x:Name="cb3">
    <ComboBoxItem>asdf</ComboBoxItem>
    <ComboBoxItem>qwerty</ComboBoxItem>
    <ComboBoxItem>1234</ComboBoxItem>
    <ComboBoxItem>zxcv</ComboBoxItem>
</ComboBox>

asdf
qwerty
1234
zxcv
asdf
qwerty
1234
zxcv
asdf
qwerty
1234
zxcv

如果列表iten相同,当用户选择一个组合框时,您可以循环遍历每个组合框的iten并禁用具有相同值的项。

如果这是一个web项目,您可以使用jquery验证组合框。您应该为每个组合提供一个id,并验证“onChange”方法,然后如果一个组合被更改,其他组合将被锁定或更改,具体取决于它们的值。

不幸的是,该问题被标记为C#和WPF,这将排除web项目。该问题在其当前形式下不可回答,因为它太广泛且不具体。解决这个问题的最简单方法是包含一些代码。请参阅:。添加了代码示例,但没有太多可显示的内容。正如我在问题中所描述的那样。