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