Ссылка на объект не установлена ​​на экземпляр объекта c # - PullRequest
0 голосов
/ 04 ноября 2011

У меня есть список, и я пытаюсь выбрать элемент для отображения метки.Мой код выглядит следующим образом:

private void listBox2_MouseDown(object sender, MouseButtonEventArgs e)
    {

        ListBox lb = (ListBox)sender;

        var selected = lb.SelectedValue.ToString();
        //string selected = listBox2.SelectedItem.ToString();

        label5.Visibility = Visibility.Visible;

        if (selected.ToString() == "Study Date")
        {
            label5.Content = "Format:YYYYMMDD";

        }

        if (selected.ToString() == "Patient's Name") label5.Content = "Enter name in string format.";
     }

Но когда я нажимаю на элемент, я получаю сообщение об ошибке: Object reference not set to instance of an object.Я не могу ввести код в событии Выбор изменен, поэтому, пожалуйста, скажите мне, как я могу это сделать.Спасибо!

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

IIRC событие MouseDown() срабатывает до регистрации выбора. Разве вам не было бы лучше использовать событие SelectionChanged()?

1 голос
/ 04 ноября 2011

У вас есть потенциальная проблема здесь:

var selected = lb.SelectedValue.ToString();

Вы звоните ToString(), хотя SelectedValue может быть null

Прежде чем позвонить ToString(), убедитесь, что SelectedValueне null

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