Combobox: Почему comboBox_SelectionChanged имеет значение null, когда я устанавливаю значение по умолчанию с помощью SelectedValue? - PullRequest
1 голос
/ 19 января 2012

Я кодирую этот код для моего ComboBox:

<ComboBox ItemsSource="{Binding Path=AvailableStrings}" SelectedValue="{Binding Path=CurrentStrings}" Name="availableStrings" SelectionChanged="availableStrings_SelectionChanged"/>

А потом в коде позади меня:

private void availableStrings_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    string currentText = availableStrings.SelectedValue as string;
}

Я попытался отладить и получил следующее поведение в следующем порядке:

  • 1-й, SelectedValue="{Binding Path=CurrentStrings}" вызывает get {...} моего имущества и ТОЛЬКО после этого:
  • availableStrings_SelectionChanged вызывается и availableStrings.SelectedValue равно нулю?!?

Моя привязка SelectedValue просто называется get и получает значение oO Похоже, что availableStrings_SelectionChanged вызывается до того, как значение было присвоено моему комбинированному списку .. и для меня это звучит как ошибка?

1 Ответ

2 голосов
/ 19 января 2012

Вы должны использовать Set on CurrentStrings для получения текущих значений, а CurrentStrings НЕ должно быть массивом (он должен быть единственным) Свяжите SelectedValue TwoWay и не используйте SelectionChanged.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...