VSTO WPF Outlook addin - Проблемы с обновлением ElementHost, содержащего содержимое WPF, после изменения размера - PullRequest
8 голосов
/ 29 ноября 2011

У меня есть надстройка для Outlook, которая добавляет пользовательскую панель задач в правую часть Outlook Explorer.В панели задач я добавил UserControl, который содержит ElementHost.В качестве дочернего элемента ElementHost имеет пользовательский элемент управления WPF со многими элементами WPF.

Надстройка работает хорошо, за исключением случаев, когда я изменяю размер настраиваемой области задач, чтобы уменьшить ее размер, содержимое элемента управления часто перерисовывается неправильно.Вместо этого я получаю белые прямоугольники по всей пользовательской панели задач.Пример этого можно увидеть на прикрепленном изображении.Что действительно странно для меня, так это то, что положение прямоугольников ограничивается не содержимым ElementHost, а всем содержимым панели задач - вы можете видеть, что верхний прямоугольник покрывает нижнюю часть строки заголовка панели задач.

Есть предложения, что может вызвать проблему и как ее исправить?

Спасибо,

Грегор

enter image description here

1 Ответ

0 голосов
/ 11 июня 2015

Похоже, правильным решением для этого является отключение аппаратного ускорения для элементов управления WPF.

private void UserControl_Loaded(object sender, RoutedEventArgs e) 
{ 
    HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource; 
    HwndTarget hwndTarget = hwndSource.CompositionTarget; 
    hwndTarget.RenderMode = RenderMode.SoftwareOnly; 
} 

Взяты здесь: https://www.add -in-express.com / forum / read.php? FID = 5 & TID = 8618

...