akj*_*shi 13 .net c# wpf elementhost winforms
我有一个WinForms控件,里面我有一个TableLayoutPanel包含多个ElementHosts,每个ElementHost包含一个WPF控件.
一切都很好,除非控件的大小比窗口大,并且ScrollBar在那里; 当我向下滚动时,控件变得扭曲,就像这样 -

在最大化窗口或重新调整窗口大小时,控件可以正确渲染(减小控件的大小,使控件离开可见区域,然后再次增大大小以使其返回可见区域)
在WPF窗口的同一窗口中,WinForms控件不会发生这种情况; 知道为什么会这样,有什么解决方案吗?
小智 15
this.Loaded += delegate
{
var source = PresentationSource.FromVisual(this);
var hwndTarget = source.CompositionTarget as HwndTarget;
if (hwndTarget != null)
{
hwndTarget.RenderMode = RenderMode.SoftwareOnly;
}
};
Run Code Online (Sandbox Code Playgroud)
尝试在您托管的wpf控件中使用它.这是win表单中托管的wpf控件的已知呈现问题.仅将渲染模式更改为软件才能解决问题.