这是我的 ComboBox,我想检查是否选择了带有 name="tweepersonen"
的 comboboxItem 来执行某些操作 (WPF)
<ComboBox Name="AantalPersonenCombobox" Grid.Column="1" HorizontalAlignment="Left" Margin="88,155,0,0" VerticalAlignment="Top" Width="140" SelectionChanged="DropdownMenuNachten_SelectionChanged">
<ComboBoxItem x:Name="tweePersonen" Content="2 Personen"/>
<ComboBoxItem x:Name="driePersonen" Content="3 Personen"/>
<ComboBoxItem x:Name="vierPersonen" Content="4 Personen"/>
</ComboBox>
c# 代码:
private void AantalNachtenCombobox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if(AantalNachtenCombobox.SelectionBoxItem == tweePersonen)
{
MessageBox.Show("Your Cheap");
}
}
答案 0 :(得分:0)
访问 ComboBoxItem
以检查 Name
是否匹配的方法是使用 ItemContainerGenerator
的 ComboBox
:
private void DropdownMenuNachten_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedItemContainer = AantalPersonenCombobox.ItemContainerGenerator.ContainerFromIndex(AantalPersonenCombobox.SelectedIndex) as ComboBoxItem;
if (selectedItemContainer?.Name == "tweePersonen")
{
MessageBox.Show("Your Cheap");
}
}
但是,如果您不希望 ComboBoxItem
内容发生变化,那么最好检查内容本身:AantalPersonenCombobox.SelectedItem == "2 Personen"