Fatal Runtime Ошибка в WPF при переключении между визуальными состояниями
Я продолжаю иметь эту ошибку иногда в конкретном случае. Это происходит именно тогда, когда я перехожу из визуального состояния в другое. Я предполагаю, что это происходит из-за плохой анимации свойств, но мне интересно, в каких условиях возникает это исключение. Вот сообщение об ошибке:
Во время выполнения произошла фатальная ошибка. Адрес ошибки был 0x58e3ba0d в потоке 0xabc. Код ошибки 0x80131623. Эта ошибка может быть ошибкой в CLR или в небезопасных или не поддающихся проверке частях пользовательского кода. Распространенными источниками этой ошибки являются ошибки пользовательского маршалинга для COM-взаимодействия или PInvoke, которые могут повредить стек.
заранее спасибо
1 ответ
Я думаю, что нашел объяснение: во время изменения состояния я пытался свернуть части интерфейса. Среди этих частей есть некоторые элементы управления (кнопки), к которым прикреплено несколько вариантов поведения.
После некоторых тестов я заметил, что свертывание элемента управления, к которому прикреплено поведение, похоже, вызывает исключение. Свертывание удаляет ссылку на объект, а присоединенное поведение остается с нулевой ссылкой, что вызывает исключение. Я не знаю точно, что происходит, но я уверен, что это причина. Кажется, что это происходит и со "скрытой" видимостью. Таким образом, единственный обходной путь, который я нашел на данный момент, - это уменьшение непрозрачности элемента управления и установка его высоты на 0.
Если кто-то нашел лучший способ избежать этой проблемы...