wpf observableCollection

У меня есть 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>

и с комментарием этой привычки первой части получают любую ошибку!!! Теперь я хочу изменить свой вопрос тому, почему наличие этого стиля вызывает ошибку?

1
задан Asha 17 June 2010 в 14:30
поделиться

2 ответа

Как я сказал в EDIT2, причина в том, что у меня есть стиль для расширения всех элементов дерева с удалением стиля, в котором проблема решена. Спасибо за все комментарии.

<Style TargetType="TreeViewItem">
      <Setter Property="IsExpanded" Value="True" />
</Style>
1
ответ дан 2 September 2019 в 23:42
поделиться

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

1
ответ дан 2 September 2019 в 23:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: