我在通过远程桌面连接呈现WPF应用时遇到问题。
应用程序chrome正在渲染,但没有任何内容通过,就像窗口没有绘制一样。相反,屏幕的先前内容显示在它的位置。
这在Vista和Vista上运行的应用程序都存在问题。 Win 7,远程控制来自XP和Win7。
问题不是特定于应用程序,如果我创建一个新的WPF应用程序,窗口上只有一个文本块,它也将无法运行。 (Neather将在VS2008中预览窗口。)
是否有一些技巧可以让WPF在RDP下运行?
答案 0 :(得分:4)
我在Kevin Dente的博客(来自Twitter帖子)上看到他在虚拟机中遇到WPF应用程序时出现问题。虽然与远程桌面不同,但问题可能是相同的。 Kevin能够通过在
创建DWORD注册表值来禁用硬件加密来解决他的问题HKEY_CURRENT_USER \ SOFTWARE \微软\ 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
这可能不是您的确切解决方案,但也许它会指出您正确的方向。
答案 1 :(得分:2)
WPF应该通过RDP呈现;它足够聪明,可以知道什么时候可以在硬件中渲染,什么时候不能恢复到它自己的基于GDI +的软件渲染。我会确保您在远程计算机上运行.NET Framework 3.5 SP1,因为可能会出现问题的远程更改。 (见下面的链接。)
过去6个月我一直在开发WPF应用程序,它在RDP上工作得很好。 (从Vista和Win7到XP,Vista和Server 2003.)然而,一个重要的警告是它渲染使用经典主题。因此,如果您使用的是没有经典主题的控件,则无法呈现。如果您只是在窗口上放置TextBox,那么显然这不是您的问题。
查看此问题,了解可能有用的一些链接:Are there problems with rendering WPF over Remote Desktop under Windows XP?
答案 2 :(得分:0)
您是否也尝试过Win7最新的RDP-Win7连接?事情是WPF不使用GDI来绘制元素。
VNC客户端(如UltraVNC)可能会为您提供帮助,因为它们使用更简单的算法,更像是发送位图。
答案 3 :(得分:0)
我刚刚遇到这个问题,当首次通过RDP测试时,Ribbonwindow无法正确显示 - 透明背景为白色,关闭最小化/最大化按钮缺失,窗口底部的圆角为方形,并且最上面一排的功能区按钮几乎无法选择。
原来有一个简单的修复方法。右键单击RDP连接图标(我已将其保存在桌面上),选择"编辑",然后选择"体验"选项卡,并更改"自动检测连接质量"到" LAN(10 Mbps或更高)"。
这为我解决了。
阿德
答案 4 :(得分:0)
我们的应用程序以前通过自定义进度栏出现此问题。 我们通过将“边框”控件的背景色设置为“白色”来解决此问题。这使我认为背景存在问题
答案 5 :(得分:-2)
要让WPF内容在远程桌面上显示,不需要特殊技巧。我们的基于WPF的应用程序在RDP(从众多计算机上试用)上提供了很好的解决方案。我们甚至使用动画,渐变,WriteableBitmap等没有问题。