【发布时间】:2011-06-24 11:26:44
【问题描述】:
我有一个 WPF 用户控件,我需要在 RenderMode.SoftwareOnly 中强制呈现它。由于我使用的是 .NET 3.5,所以我不得不这样做:
var hwndSource = PresentationSource.FromVisual(this) as HwndSource;
if (hwndSource != null)
{
hwndSource.CompositionTarget.RenderMode = RenderMode.SoftwareOnly;
}
但这不适用于我的应用程序,WPF 程序在少数机器上崩溃,在注册表级别关闭硬件加速似乎可以解决问题。
上面的代码写在窗口的Loaded事件中。如果我是正确的,Loaded 事件会在控件呈现后发生 (MSDN)。那么在该事件中使用上述代码是否有意义?如果不是,哪个活动适合它?
另外,在视觉对象上设置RenderMode 会影响其子对象吗?还是我需要为每个子元素专门设置这个?
【问题讨论】:
-
嗨,我很好奇。调度程序解决方案对您有帮助吗?
标签: c# .net wpf .net-3.5 hardware-acceleration