有谁知道为什么DropShadowBitmapEffect和EmbossBitmapEffect不能在WPF中的TextBlock(而不是textBOX)上工作? OuterGlow,Blur和Bevel似乎工作得很好。
透明背景画笔显然不是答案,因为可以获得带有空背景画笔的阴影。阴影中的默认柔和度为50%,如果您使用较小的字体,则柔和度会使阴影消失太多。柔软度似乎有39%的急剧下降(此时阴影或多或少消失)。尝试将其设置为0并慢慢向前移动,直到找到仍然显示阴影的数字。
另一个注意事项:柔和度绝对是一个因素,但要注意Xaml中有效值实际上只是0到1,但在Blend中它显示为百分比高达100.因此,如果将值设置为100在Xaml,它将完全消散。
背景画笔=透明溶液仍可用于压花效果
答案 0 :(得分:2)
位图效果通过查看后渲染像素并对其运行标准图像操作来工作。它应该只取决于像素的颜色。我想知道他们的算法是否在白色上不能很好地工作。尝试更改颜色以查看是否有效果 - 如果有,您可能想尝试将黑色面板放在下面,并在其上设置投影。
编辑:提问者找到了答案
“感谢您指出正确的方向。不是文本的颜色或重要的DropShadow,需要的是使TextBlock上的背景画笔成为透明画笔(Alpha = 0)为空。“
答案 1 :(得分:1)
重要的旁注:你不应该再使用BitmapEffects了。使用基于.net 3.5 SP1中引入的ShaderModel效果的Effect属性,它使用硬件渲染并具有更好的性能。