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

问题描述 投票:0回答:0

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

我使用自定义面板功能(第 3 方,非公共 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 上不会发生。

wpf citrix xenapp
© www.soinside.com 2019 - 2024. All rights reserved.