Из опубликованного XAML нет коллекции, связанной с ListBox
. Это либо означает, что привязка отсутствует, либо привязка устанавливается в коде позади. Следующее - просто выстрелы в темноте, так как никакого дополнительного кода не было отправлено:
Правильно привязать ListBox
Предполагая, что коллекция является частью DataContext
, коллекция должна быть привязана к ListBox
:
<ListBox ItemsSource="{Binding Path=MyCollection}"... />
Начальный ресурс: MSDN: Как: привязать к коллекции и отобразить информацию на основе выбора
Проверка объекта перед сотворением
Это может быть случай, когда выбранный элемент пуст, т. Е. Первый элемент в списке не имеет значения. В этом случае проверьте, соответствует ли объект ожидаемому типу, прежде чем делать что-либо еще:
private void listBox4_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var nPhone = listBox4.SelectedItem as PhoneList;
if (nPhone == null)
{
return;
}
string mPhoneCopy = nPhone.Telnum;
string mNameCopy = nPhone.Epon;
var pt = new PhoneCallTask();
pt.DisplayName = mNameCopy;
pt.PhoneNumber = mPhoneCopy;
pt.Show();
}
Другие мысли
Я подозреваю, что не может быть коллекции, связанной с ListBox`; возможно, должен быть какой-то код для установки привязки, которая не выполняется?
В конце концов, если ничего из вышеперечисленного не применимо к вашему случаю, отредактируйте сообщение с соответствующим кодом, который создает коллекцию, и установите коллекцию как ItemsSource в ListBox.