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

时间:2014-09-08 10:24:18

标签: c# wpf list xaml combobox

我有一个名为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)
            {

            }

2 个答案:

答案 0 :(得分:0)

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

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

  }

如果要绑定列表,

你可以这样做,

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

  }

答案 1 :(得分:0)

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

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

从那里,您可以使用所选择的项目,或者其他任何令您感兴趣的内容,并随便使用它。
你可以使用Sajeetharan和Adriano建议的东西,你也可以在变化时检查它,然后让你的逻辑发生,或更新你的gui ......天空是极限:))