簡體   English   中英

檢查ComboBox是否包含項目

[英]Check if a ComboBox Contains Item

我有這個:

<ComboBox SelectedValuePath="Content" x:Name="cb">
  <ComboBoxItem>Combo</ComboBoxItem>
  <ComboBoxItem>Box</ComboBoxItem>
  <ComboBoxItem>Item</ComboBoxItem>
</ComboBox>

如果我使用

cb.Items.Contains("Combo")

要么

cb.Items.Contains(new ComboBoxItem {Content = "Combo"})

它返回False

誰能告訴我,我該如何檢查,如果一個ComboBoxItem名為Combo中存在ComboBox cb

Items是ItemCollectionnot list of strings 在您的情況下,它是一個collection of ComboboxItem您需要檢查其Content屬性。

cb.Items.Cast<ComboBoxItem>().Any(cbi => cbi.Content.Equals("Combo"));

要么

cb.Items.OfType<ComboBoxItem>().Any(cbi => cbi.Content.Equals("Combo"));

你可以循環每個項目並打破,以防你找到所需的項目 -

bool itemExists = false;
foreach (ComboBoxItem cbi in cb.Items)
{
    itemExists = cbi.Content.Equals("Combo");
    if (itemExists) break;
}

如果要在cb.Items.Contains("Combo")使用Contains函數,則必須向ComboBox添加字符串,而不是ComboBoxItems: cb.Items.Add("Combo") 該字符串將顯示為ComboBoxItem。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM