当我使用Effects(特别是DropShadowEffect
)时,我遇到了WPF中渲染的问题。这就是我的UI应该是这样的:
但是当我开始调整窗口大小时,它会在某些点出现故障并转向:
您可以看到文本失真,并且“启动服务器”按钮右侧有一条暗线。如果我删除效果,问题就会消失。这只是WPF中的一个错误,还是有办法解决它?
答案 0 :(得分:3)
正如哈雷所说,你可能会受到亚像素定位的“痛苦”。如果您针对.Net 4 FrameWork编译应用程序,则可以设置窗口的UseLayoutRounding属性以关闭此行为。
UseLayoutRounding=True
如果这不起作用,请尝试使用软件渲染来检查DX是否给您带来麻烦(尽管我打赌您不必去那里)。
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
答案 1 :(得分:1)
我猜你的Start Server按钮和搜索栏有中心对齐,所以当你调整整个窗口的大小时,控件可能会在屏幕上从半像素到另一半像素。这就是控件显得模糊的原因。
尝试使用SnapToDevicePixels查看是否有帮助。将两个控件的属性设置为true。它应确保在物理设备像素上绘制所有边缘。