我有一个 Outlook 插件,它在 Outlook 资源管理器的右侧添加了一个自定义任务 Pane 。在任务 Pane 中,我添加了一个包含 ElementHost 的 UserControl。 ElementHost 将 WPF UserControl 作为子级,其中包含许多 WPF 元素。
插件工作得很好,除了当我调整自定义任务 Pane 的大小以减小其大小时,控件的内容通常不会正确重绘。相反,我在自定义任务 Pane 中得到了白色矩形。可以在所附图像中看到这样的一个例子。真正让我感到奇怪的是,矩形的位置不仅限于 ElementHost 的内容,还包括任务 Pane 的整个内容——您可以看到顶部矩形覆盖了任务 Pane 标题栏的下部。
有什么建议可能导致问题以及如何解决?
谢谢,
格雷戈尔
最佳答案
似乎对此的正确解决方案是禁用 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
关于wpf - VSTO WPF Outlook 插件 - 调整大小后刷新包含 WPF 内容的 ElementHost 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307657/