Как избежать, чтобы свойство [[Unknown]'не указывало на DependencyObject in path '(0).(1)[1].(2)'исключение в wpf

При нажатии кнопки, Обновление ListBoxItemsSource коллекция. Для 4 или 5 щелчков он работает нормально, но затем выдает исключение, так как свойство [[Unknown] "не указывает на DependencyObject в пути '(0).(1)[1].(2)'

Я погуглил это и нашел причину этого.

"ElementControl переопределяет PrepareContainerForItemOverride и вызывает PrepareModel для вставки сетки в _modelContainer для каждого элемента. Позже в ElementFlow.BuildTargetPropertyPath (который вызывается с помощью ElementFlow.SelectItemCore -> LayoutBase.SelectElement -> ElementTempSignSignSignSign.SimeTempStateShillS). был вставлен в _modelContainer. Это исключение возникает, когда сетка не была вставлена ​​в _modelContainer. WPF вызывает метод PrepareContainerForItemOverride для ApplyTemplate. Это делается только один раз. Элементы, добавленные позже, никогда не обрабатываются таким образом. "

Поэтому, пожалуйста, предоставьте мне решение для его преодоления.

1 ответ

Похоже, что, возможно, в вашей "коллекции источников элементов" есть элемент, который имеет неправильный тип или не содержит одно из свойств, которое ищет шаблон элементов списка. Или, возможно, если у вас есть разные классы в вашей коллекции, у одного из них может не быть свойства, которое вы ищете как DependencyProperty. Если это просто обычное свойство, оно может работать некорректно.

Проверьте все типы объектов, которые входят в вашу коллекцию источников элементов, и убедитесь, что у них всех есть свойства DependencyProperties, имена которых соответствуют тому, что ищет шаблон элементов.

Другие вопросы по тегам