Свойство Text ComboBox имеет значение последнего, а не текущего выделения - PullRequest
1 голос
/ 09 марта 2012

У меня есть метка LabelMessage и ComboBox ComboBoxSelection на странице WPF. Вот XAML:

<Label Name="LabelMessage" Content="" Margin="0,20" HorizontalAlignment="Stretch" VerticalAlignment="Center" />
<ComboBox x:Name="ComboBoxSelection" SelectionChanged="OnComboBoxSelectionChanged" Height="20" Margin="112,10,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Top" IsEnabled="True" >
    <ComboBoxItem Content="North" />
    <ComboBoxItem Content="South" />
    <ComboBoxItem Content="East" />
    <ComboBoxItem Content="West" />
</ComboBox>

А вот и C #:

private void OnComboBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    LabelMessage.Content = ComboBoxSelection.Text;
}

Метка показывает предыдущее содержимое ComboBox, а не текущий выбор. Спасибо, если я выберу North, затем East, метка покажет North. Если я тогда выберу South, на этикетке будет показано East.

Что может вызвать это, и как мне это исправить?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

используйте что-то вроде: ComboBoxSelection.SelectedItem.ToString();

0 голосов
/ 09 марта 2012

Решение:

LabelMessage.Content = ComboBoxSelection.SelectedItem.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...