Как избежать, чтобы свойство [[Unknown]'не указывало на DependencyObject in path '(0).(1)[1].(2)'исключение в wpf
При нажатии кнопки, Обновление ListBox
ItemsSource
коллекция. Для 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, имена которых соответствуют тому, что ищет шаблон элементов.