WPF:使用 DropShadowEffect

前言

属性名 说明

Color

设置阴影的颜色(默认值:黑色)

ShadowDepth

确定阴影离开内容多远,单位为像素(默认值: 5)。将该属性设置为 0 会创建外侧辉光效果(outer-glow),该效果会在内容的周围添加晕彩(halo of color

BlurRadius

模糊引用,该属性和 BlurEffect 类的 Radius 属性非常类似(默认值:5

Opacity

设置阴影的透明度

Direction

使用从 0 到 360 之间的角度值指定阴影相对于内容的位置。将该属性设置为 0 会将阴影放置到右边,增加该属性的值时会逆时针移动阴影。默认值是 315,该值会将阴影放置到元素的右下方

使用方式

<Window x:Class="Demo.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"
Title="{Binding Title}" Height="350" Width="525">
<StackPanel>
<!--推荐的使用方式-->
<Grid Height="100" Width="100" Margin="10">
<Border Background="Yellow" CornerRadius="50">
<Border.CacheMode>
<BitmapCache/>
</Border.CacheMode>
<Border.Effect>
<DropShadowEffect ShadowDepth="0" BlurRadius="15" Opacity="0.3"/>
</Border.Effect>
</Border>
<TextBlock Text="名称" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
<!--不推荐的使用方式:这种方式会导致内部元素模糊-->
<Grid Height="100" Width="100" Margin="10">
<Border Background="Yellow" CornerRadius="50">
<Border.CacheMode>
<BitmapCache/>
</Border.CacheMode>
<Border.Effect>
<DropShadowEffect ShadowDepth="0" BlurRadius="15" Opacity="0.3"/>
</Border.Effect>
<TextBlock Text="名称" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</Grid>
</StackPanel>
</Window>
posted @   2324736194  阅读(444)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示