组合框获取选定的框项目?

时间:2021-01-09 19:37:24

标签: c# wpf combobox

这是我的 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");                   
      }               
 }

1 个答案:

答案 0 :(得分:0)

访问 ComboBoxItem 以检查 Name 是否匹配的方法是使用 ItemContainerGeneratorComboBox

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"