У меня похожая проблема с этим вопросом относительно рисования элементов управления wpf
Приложение, над которым я работаю, представляет собой довольно большое приложение с многопоточными формами Windows с несколькими пользовательскими элементами управления wpf в приложении.Проблема возникает в плагине приложения, в котором сторонняя библиотека c ++ вызывается в отдельном потоке, WndProc переопределяется для получения обновлений прогресса от сторонней библиотеки.Мне еще предстоит определить точный сценарий, который вызывает проблему, но похож на вышеупомянутый вопрос, после нескольких запусков элементы управления wpf не в состоянии рисовать и обновлять.
Установка ширины elementhosts действительно решает проблему рисования для большинства элементов управления, но после этого все элементы управления wpf в приложении кажутся «не отвечающими» - визуально ... индикаторы выполнения не показывают прогресс(хотя значение не меняется), полосы прокрутки не реагируют, выбор элемента в виде списка не выделяет его (он выделяется после изменения размера и фактически выбирается - вы можете видеть, что он выбран), древовидные представления не рисуютпосле изменения размера он показывает только черный фон, где должно быть древовидное представление (хотя, когда я нажимаю на элементы, где они должны быть в древовидном представлении, события действительно срабатывают)
Я знаю, что, вероятно, должен выяснитькорень проблем, которые вызывают это в первую очередь (это происходит довольно случайно, и его трудно поймать) - несмотря на то, что установка точки останова в методе WndProc действительно приводит к его сбою на обычной основе ...
ЧтоЯ надеялся, что это способ «реактивировать» / гобновить все остальные элементы управления в приложении ... Я являюсь промежуточным разработчиком wpf, c # и пока не знаю достаточно о сообщениях и событиях, которые происходят в фоновом режиме, чтобы эффективно их использовать ... я думаю, что какое-то событие или сообщениеэто говорит wpf перерисовать должен быть сломан или прерван или что-то - как я могу определить, что сломано и, возможно, активировать его ??
Любой совет будет высоко ценится ...
Спасибо