Системное программирование. Доработка существующего продукта. 1. Суть проблемы В гибридном приложении (WPF?+?Windows Forms) с интеграцией через ElementHost иногда наблюдается критический сбой рендеринга WPF используется как в виде отдельных окон, так и в виде контролов WPF размещаются внутри Windows Forms?контролов через ElementHost. Наблюдаются различия в поведении элементов WPF: - не отображаются изменения данных в элементах WPF; - визуальные триггеры, не связанные с DataContext (например, IsMouseOver) не срабатывают; - приложение остаётся отзывчивым: события ввода (MouseEnter, KeyDown и др.) обрабатываются; - главный поток UI не заблокирован; - задачи в Dispatcher добавляются (Posted), но не переходят в состояние Started (зависают в очереди). Ключевые проявления: TextBox: - Полное восстановление рендеринга происходит только при нажатии любой клавиши в TextBox, расположенном в WPF?окне (не в ElementHost). - привязка DataContext работает: контролы Windows Forms, привязанные к тому же свойству ViewModel, например, в TextBox в ElementHost при изменения свойства отображают реальное состояние, сам TextBox не отображает текст; Поведение ComboBox внутри контрола, добавленного в ElementHost: - первая попытка активации вызывает однократный рендер контрола; - повторная активация не даёт эффекта; - если в контроле несколько ComboBox, каждый срабатывает один раз при первой активации; - после однократного рендера элемент перестаёт реагировать на дальнейшие попытки взаимодействия. Изменение размера окна приводит к однократному рендерингу, после чего интерфейс снова «замирает». Есть несколько способов достижения такого поведения, однако, само по себе поведение никак из кода продиагностировать не получается, только косвенные признаки типа подписки на CompositionTarget.Rendering и Dispatcher.Hooks и их анализ. Необходимо найти причину или способ восстановления работоспособности рендеринга.