当前位置: 首页 > news >正文

WPF 立体Border

WPF 立体Border ,用来划分各个功能区块

在资源文件中,添加如下样式代码:

 <Style x:Key="BaseBorder" TargetType="Border"><Setter Property="Background" Value="White" /><Setter Property="BorderBrush" Value="#EEEEEE" /><Setter Property="BorderThickness" Value="1" /><Setter Property="CornerRadius" Value="10" /><Setter Property="Opacity" Value="1" /><Setter Property="Effect"><Setter.Value><DropShadowEffectBlurRadius="10"Opacity="0.3"ShadowDepth="3"Color="#BBBBBB" /></Setter.Value></Setter></Style><Style x:Key="ExternalBorder" TargetType="Border"><Setter Property="Effect"><Setter.Value><DropShadowEffectBlurRadius="10"Direction="-225"Opacity=".6"ShadowDepth="3"Color="White" /></Setter.Value></Setter></Style>

在使用时:

创建两个嵌套的Border,外部使用ExternalBorder样式,内部使用BaseBorder样式,如:

<Border Width="400" Height="300" Style="{StaticResource ExternalBorder}"><Border Style="{StaticResource ResourceKey=BaseBorder}" />
</Border>

如果要在Border里面加控件,加在最里面的Border里。

如果要改背景颜色,可以改BaseBorder样式里的Background属性,要改边框颜色可以改BorderBrush属性。

之所以用了两个Border,是因为在对Border添加阴影的同时,又在外部对左上角加了高亮,模拟光线从左上方照射的感觉,效果比单用一个Border加阴影要更自然,更有高级感,尤其在背景颜色较深时更加明显。

上图:加了高光;     下图:只加了阴影,没有加高光

我个人更喜欢上面加了高光的这种,如果要去掉高光,只用一个BaseBorder即可。

http://www.lryc.cn/news/323815.html

相关文章:

  • java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
  • 代码随想录(day8)——字符串
  • JavaScript 权威指南第七版(GPT 重译)(二)
  • 【python_往企业微信群中发送文件】
  • 华为校招机试 - 循环依赖(20240320)
  • 基于Spring Boot技术的幼儿园管理系统
  • 查找众数及中位数 - 华为OD统一考试(C卷)
  • bash命令执行.sh文件 windows python环境
  • refreactive vue3
  • 【项目实践Day06】异步请求与同步请求+Ajax+微信小程序上实现发送异步请求
  • Elasticsearch面试系列-01
  • QT tableWidget横向纵向设置
  • Unity Mesh简化为Cube mesh
  • openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint
  • 大规模预训练语言模型的可解释性研究与实践
  • Rust常用库之序列化和反序列化库serde(使用 Serde 处理json)
  • java设计模式(2)---六大原则
  • 数学建模(层次分析法 python代码 案例)
  • Gitlab介绍
  • Amuse .NET application for stable diffusion
  • 【机器学习-05】模型的评估与选择
  • 【11】工程化
  • Python中requests、aiohttp、httpx性能对比
  • 网络原理(5)——IP协议(网络层)
  • GE IS200AEPAH1BKE IS215WEPAH2BB是两种不同的压力测量模块
  • Rust 与 C++ ,孰优孰劣?
  • MySQL、Oracle的时间类型字段自动更新:insert插入、update更新时,自动更新时间戳
  • Testng框架集成新业务
  • springboot 单元测试
  • LeetCode---126双周赛