9

我在通过远程桌面连接呈现 WPF 应用程序时遇到问题。

应用程序 chrome 正在呈现,但没有任何内容通过,就好像窗口没有绘制一样。相反,屏幕的先前内容显示在它的位置。

这是在 Vista 和 Win 7 上运行的应用程序的问题,远程控制来自 XP 和 Win7。

问题不是特定于应用程序的,如果我创建一个新的 WPF 应用程序,窗口上只有一个文本块,它也不会运行。(VS2008 中的窗口预览也不会显示。)

让 WPF 在 RDP 下运行有什么技巧吗?

4

7 回答 7

9

我在 Kevin Dente 的博客(来自 twitter 帖子)上读到,他在虚拟机中使用 WPF 应用程序时遇到了问题。 虽然与远程桌面不同,但问题可能相同。Kevin 能够通过在以下位置创建 DWORD 注册表值来禁用硬件加速来解决他的问题

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphics\DisableHWAcceleration

然后将其设置为 1。

他的原始博客文章在这里:http://weblogs.asp.net/kdente/archive/2009/10/19/visual-studio-2010-beta-2-editor-performance-fix-running-on-a-virtual-machine.aspx

这可能不是您的确切解决方案,但也许它为您指明了正确的方向。

于 2009-11-03T17:31:00.147 回答
2

WPF 应该通过 RDP 渲染;它足够聪明,知道什么时候可以在硬件中渲染,什么时候不能,它会恢复到自己的基于 GDI+ 的软件渲染。我会确保您在远程计算机上运行 .NET Framework 3.5 SP1,因为远程处理的更改可能会带来问题。(见下面的链接。)

在过去的 6 个月里,我一直在开发 WPF 应用程序,它在 RDP 上运行良好。(从 Vista 和 Win7 到 XP、Vista 和 Server 2003。)然而,一个重要的警告是它使用 Classic 主题呈现。因此,如果您使用的控件没有经典主题,它们将不会呈现。如果您只是在窗口上放置一个文本框,那么显然这不是您的问题。

查看此问题以获取一些可能有用的链接:在 Windows XP 下通过远程桌面呈现 WPF 是否存在问题?

于 2009-09-10T17:43:22.503 回答
0

您是否也尝试过 Win7 最新 RDP - Win7 连接?问题是 WPF 不使用 GDI 来绘制元素。

VNC 客户端(如 UltraVNC)可能会为您解决问题,因为它们使用更简单的算法,更像是发送位图。

于 2009-08-07T10:27:31.317 回答
0

我和提问者有同样的问题。标准的现成复选框未正确呈现。我只能在悬停复选框时查看它是否被选中。否则,选中和未选中之间没有区别。重要提示:将前景设置为白色时会发生这种情况(请参见此处:https ://social.msdn.microsoft.com/Forums/vstudio/en-US/1c03db49-7e53-4cbb-9dd1-b328017c4453/wpf-checkbox-and -radiobutton-check-mark-not-showing-under-xp-windows-classic-theme-and-remote?forum=wpf )

于 2016-09-28T19:08:30.090 回答
0

我们的应用程序曾经在使用自定义进度条时遇到过这个问题。我们通过将边框控件的背景颜色设置为白色来解决此问题。这让我认为透明背景存在问题

于 2018-08-29T17:51:28.830 回答
0

第一次通过 RDP 进行测试时,我只是遇到了功能区窗口无法正确显示的问题 - 透明背景为白色,缺少关闭最小化/最大化按钮,窗口底部的圆角是方形的,顶部一排功能区按钮几乎无法选择。

原来对我来说有一个简单的解决方法。右键单击 RDP 连接图标(我已将其保存在桌面上),选择“编辑”,然后选择“体验”选项卡,将“自动检测连接质量”更改为“LAN(10 Mbps 或更高)”。

这为我修好了。

阿德

于 2015-11-02T11:23:07.273 回答
-4

无需特殊技巧即可让 WPF 内容跨远程桌面显示。我们基于 WPF 的应用程序在 RDP 上渲染得很好(在许多机器上尝试过),没有任何问题。我们甚至使用了动画、渐变、WriteableBitmap 等,没有任何问题。

于 2010-01-11T18:21:01.390 回答