[英]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是ItemCollection
而not 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.