繁体   English   中英

C#WPF如何检查组合框项目是否包含在列表中<string>

[英]C# WPF how to check if combobox item is contained in a list<string>

我有一个名为combo的ComboBox。 我手动添加了项目,因为我无法直接链接它们。 原来我不需要。 但是,我希望能够从下拉列表(ComboBox)中选择一个项目,然后单击按钮以检查所选内容是否包含在列表字符串中。

这是我的意思:

XAML:

    <ComboBox Name="combo"/>
            <ComboBoxItem Content="Aa"/>
            <ComboBoxItem Content="Ba"/>
            <ComboBoxItem Content="Ca"/>   
    </ComboBox>

C#

    //list

    string a = "Aa";
    string b = "Ba";
    string c = "Ca";

    List<string> list = new List<string>();
    list.Add(a);
    list.Add(b);
    list.Add(c);

    //button

     private void Button_Click_1(object sender, RoutedEventArgs e)
            {

            }

由于您没有绑定值,因此可以使用SelectionBoxItem

 if (list.Contains(combo.SelectionBoxItem.ToString()))
  { 

  }

如果您要绑定列表,

你可以这样

  if (list.Contains(Combobox.SelectedItem.ToString())))
  {

  }

我不确定为什么要编码并将其添加到我的手上。 WPF的常用方法是将您的列表放在ViewModel (通常使用ObservableCollection ),然后将您的ComboBox绑定到它。

<ComboBox Name = "combo" ItemsSource="{Binding YourCollectionNameHere}" 
          SelectedItem="{Binding YourStringProperty}"
/>

从那里,您可以使用选定的项目,或其他使您喜欢的项目挠痒痒,然后到处乱逛。
您可以使用Sajeetharan和Adriano的建议,也可以在更改时进行检查,然后让您的逻辑发生,或者更新gui ...天空是极限:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM