WPF阴影设置及设置导致控件模糊问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF阴影设置及设置导致控件模糊问题相关的知识,希望对你有一定的参考价值。
参考技术A WPF 中设置阴影后
<code>
<Canvas.Effect>
<DropShadowEffect BlurRadius="7" ShadowDepth="0"/>
</Canvas.Effect>
</code>
其中的BlurRadius为阴影的模糊程度,ShadowDepth为阴影的深度。可以在自定义控件右击,选择Blend设计
下图为Blend设计器中找到阴影设置的界面
设置为0和7就相当于光线从垂直上方射下,模糊度为7,此时这个Direction是没有用的。
但是当你设置下面这个的时候,Direction就有用了,表示为从角度315的方向射过来,0度角为从左到右
但是当你用完阴影之后会有个问题。就是阴影会导致控件模糊。后来自己网上找了下发现。
UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。
所以 在mainwindow.xaml中加入UseLayoutRounding="True"; 就可以了
1)UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。
2)SnapsToDevicePixels默认为false, 为true可以让元素像素级对齐。
UIElement.UseLayoutRounding 属性
获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。(一般在容器元素上设置, 发生在Measure&Arrange期间)
若是自定义控件在CS文件中用new方式最好把控件大小设置大个5的宽度和高度,否则阴影无法显示。
Blend 阴影 倒影 模糊效果
原文:Blend 阴影 倒影 模糊效果
1)阴影 和模糊效果很简单 在Blend的面板效果中就有体现 直接拖拽到控件即可
2)文本加圆角 需要一个布局控件Border
设置属性CornerRadius 直接可以体现到界面上 当然 它里面内容控件 可以是任何控件 border就是一个外皮
3)倒影效果 其实想体现的是blend 设置透明度的操作
以上是关于WPF阴影设置及设置导致控件模糊问题的主要内容,如果未能解决你的问题,请参考以下文章
[原创]c# wpf自定义 任意颜色阴影特效融合winform的探索之路