扭曲文本呈现WPF(请参见屏幕截图)

扭曲文本呈现WPF(请参见屏幕截图),wpf,xaml,text,distortion,Wpf,Xaml,Text,Distortion,有人在xaml文本呈现中看到过这种特定的失真吗 这通常发生在页面首次呈现时,但当浏览器的大小被重新调整为更大或更小时,它将正确呈现 我尝试了不同的文本渲染设置,并确保没有设置任何可能影响文本的高度或宽度限制 我创建的自定义按钮的文本也会发生这种情况。这与效果渲染有关吗?按钮和组框确实有dropshadows,但这也会影响白色背景上的纯文本吗 谢谢! 杰夫 这与效果渲染有关吗?按钮和组框确实有dropshadows,但这也会影响白色背景上的纯文本吗 对。在元素上设置Effect、Bitmap

有人在xaml文本呈现中看到过这种特定的失真吗

这通常发生在页面首次呈现时,但当浏览器的大小被重新调整为更大或更小时,它将正确呈现

我尝试了不同的文本渲染设置,并确保没有设置任何可能影响文本的高度或宽度限制

我创建的自定义按钮的文本也会发生这种情况。这与效果渲染有关吗?按钮和组框确实有dropshadows,但这也会影响白色背景上的纯文本吗

谢谢! 杰夫

这与效果渲染有关吗?按钮和组框确实有dropshadows,但这也会影响白色背景上的纯文本吗

对。在元素上设置
Effect
BitmapEffect
CacheMode
会导致该元素被光栅化,即,它从可缩放向量形式转换为位图形式。当元素跨设备像素定位或按大小缩放时,这可能会创建锯齿边(别名)等视觉瑕疵,而文本元素往往受到的影响最大


如果可能的话,我会避免使用这种效果。您可以通过将祖先元素上的
UseLayoutRounding
(WPF 4+)或
SnapsToDevicePixels
(WPF 3.5+)设置为
True
来缓解问题。更好的是,您可以按照@MatthewWalton的建议,将内容放在应用了效果的元素前面,而不是放在元素内部。

我不认为这是一个答案,但我在WPF中看到过,当它偏离某个像素分数时,渲染器很难与像素网格很好地匹配。WPF4+(我认为)有一个特性,它可以将一些东西强制放到像素网格上,这是非常有用的。投影肯定会导致这种情况,但不确定为什么会在其他控件上导致这种情况。放置阴影的修复方法通常是在控件顶部(按z顺序)用阴影将文本分层,而不是在控件内部(用视觉树术语)。发布当前的XAML。