У меня есть ObservableCollection, который является dataContext для моего treeview, когда я попытаюсь удалить Объект из ObservableCollection, я получу ошибку, которую Ссылка на объект не установила на экземпляр объекта. можно ли сказать мне, почему эта ошибка происходит и каково решение
спасибо
РЕДАКТИРОВАНИЕ 1: код - что-то как:
class MyClass : INotifyPropertyChanged
{
//my class code here
}
public partial class UC_myUserControl : UserControl
{
private ObservableCollection<MyClass> myCollection = new ObservableCollection<MyClass>();
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
myCollection.add(new myClass);
myTreeView.DataContext = myCollection ;
}
private void deleteItem()
{
myCollection.RemoveAt(0);
//after removing I get error Which I guess should be something related
//to interface update but I don't know how can I solve it
}
}
Деталь исключения: Система. NullReferenceException был необработанным сообщением = "Ссылка на объект не набор к экземпляру объекта". Источник = "PresentationFramework"
РЕДАКТИРОВАНИЕ 3: у Меня есть стиль, который является, чтобы мой treeitem сохранил treeitems расширенным
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="True" />
</Style>
и с комментарием этой привычки первой части получают любую ошибку!!! Теперь я хочу изменить свой вопрос тому, почему наличие этого стиля вызывает ошибку?
Как я сказал в EDIT2, причина в том, что у меня есть стиль для расширения всех элементов дерева с удалением стиля, в котором проблема решена. Спасибо за все комментарии.
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="True" />
</Style>
У меня была аналогичная проблема, когда я также привязался к выбранному элементу в коллекции и пытался удалить выбранный элемент. Мне пришлось сначала изменить выбранный элемент, а затем удалить его.