2016-04-14 2 views
1

В моей .xaml файле у меня есть поле со списком, как показано ниже:C# UWP как получить значение измененного ComboBoxItem

<ComboBox Name="CLengthCombo" SelectionChanged="ComboBox_SelectionChanged"> <ComboBoxItem Content="24"/> <ComboBoxItem Content="25"/> <ComboBoxItem Content="26" IsSelected="True"/> <ComboBoxItem Content="27"/> </ComboBox> , как я могу осуществить свою ComboBox_SelectionChanged событие, так что я могу получить содержимое ComboBoxItem, который изменяется пользователем при запуске приложения? Является ли событие SelectionChanged правильным даже для использования в этом случае? Нижеприведенное не работает:

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { string chosenItem = CLengthCombo.PlaceholderText; } Заранее благодарим за вашу помощь!

ответ

5

Вы можете сделать это как следующий

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
     { 
      var comboBoxItem = e.AddedItems[0] as ComboBoxItem; 
      if (comboBoxItem == null) return; 
      var content = comboBoxItem.Content as string; 
      if (content != null && content.Equals("some text")) 
      { 
       //do what ever you want 
      } 
     } 
+0

Спасибо Каруи! Он работает сейчас :) – azad

+0

Вы можете проверить его как действительный ответ, тогда :) –

0

Получите ваш выпадающий работать это, гр. (.. .) имеет SelectedItem, SelectedText ...:

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    var c = sender as ComboBox; 

    var item = c.(...); 
} 
+4

, пожалуйста, предоставьте некоторое объяснение кода, что очевидно для вас, возможно, не очевидно для кого-то другого – DarkMukke

Смежные вопросы