如何在浮动面板调整大小时修复WPF渲染异常?

时间:2017-09-04 07:29:53

标签: wpf citrix xenapp

编辑:发生这种情况是因为可停靠面板在移动到浮动状态时是半透明的。修复是禁用透明度。

我使用自定义面板功能(第三方,非公共NuGet),它具有可停靠面板等可视工作室。如果我在Citrix XenApp上浮动面板并调整其大小(几次),它就会崩溃。在日志文件中使用以下堆栈(只有几行)。

Unhandled exception. System.Runtime.InteropServices.COMException (0x88980406): UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406)

   at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()

   at System.Windows.Media.MediaContext.CompleteRender()

   at System.Windows.Interop.HwndTarget.OnResize()

   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)

   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

在Citrix之外的任何环境中运行时都不会发生这种情况。它可以在具有相同Citrix版本的所有客户环境中重现。对于旧版本的Citrix XenApp,这是不可重现的,但是不可能要求客户降级。

2012 R2上的Citrix版本7.6会发生这种情况。似乎在所有7.6和7.9安装上都会发生。

2008 R2上的6.5不会发生。

0 个答案:

没有答案