Исключение NullReferenceException на узле TreeView
У меня два TreeViews
в моей программе, которые имеют дело с SelectedItemChanged
таким же образом. Проблема в том, что один работает нормально, а другой выбрасывает NullReferenceException
, Исключение генерируется в одном из деревьев, когда узел отменяется...
Как SelectedItemChanged
обрабатывается для обоих деревьев в коде:
//How *ViewModel* is declared...
public DatabaseViewModel ViewModel { get { return DataContext as DatabaseViewModel; } }
//Gets selected item in TreeView
private void Tree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var data = e.NewValue as TreeModel;
ViewModel.Tree.SelectedItem = data;
}
Это в основном то, что происходит:
- Узел в дереве проблем выбран
-Далее выбран узел в дереве с хорошим поведением
-А NullReferenceException
затем бросается на линию: ViewModel.Tree.SelectedItem = data.
в коде позади проблемного дерева. Исключение говорит: "Ссылка на объект не установлена на экземпляр объекта".
Что здесь не так и как я могу это исправить? Спасибо.
* Примечание: я просто хотел бы отметить, что это не происходит для другого дерева.
1 ответ
Попробуй это:
//Gets selected item in TreeView
private void Tree_SelectedItemChanged(object sender,RoutedPropertyChangedEventArgs<object> e)
{
var data = e.NewValue as TreeModel;
if(data!=null)
ViewModel.Tree.SelectedItem = data;
}