2024年4月27日发(作者:)

原创:一个带阴影的Border(WPF控件)成品

该控件值得关注的属性有以下几个:

ShadowColor 获取或设置阴影的颜色

ShadowBrush 获取或设置阴影的画刷

上述两个属性当ShadowBrush不为null时使用ShadowBrush否则使用

ShadowColor,一般使用ShadowColor效果好,使用ShadowBrush不容易控制效果

ShadowLightArc 获取或设置光源照射角度(顺时针,以度为单位) >=0且<90度

表示从左上角照射 >=90且<180表示从右上角照射 >=180且<270表示从右下角

照射 >=270且小于360表示从左下角照射

ShadowWidth 获取或设置阴影斜长,该属性同ShadowLightArc属性共同确定X

方向和Y方向的阴影宽度

下面几个属性同Border控件属性一样:

BorderCornerRadius(等同Border控件的CornerRadius属性)

Background

BorderBrush

BorderThickness

Padding

好了,下面是代码,可直编译使用,编译后拖到一个窗口上看看效果,哈哈,是不是

有阴影效果呢,转载请注明本出处

ShadowBorder

1 using System;

2 using c;

3 using ;

4 using ;

5 using ls;

6 using s;

7 using ;

8

9 namespace trols

10 {

11 ///

12 /// 带阴影的边框

13 ///

14 public class ShadowBorder : Decorator

15 {

16

17 static ShadowBorder()

18 {

19

20 deMetadata(

21 typeof(ShadowBorder),

22 new

FrameworkPropertyMetadata(typeof(ShadowBorder)));

23

24 ShadowLightArcProperty =

er(

25 "ShadowLightArc", typeof(double),

typeof(ShadowBorder),

26 new FrameworkPropertyMetadata((double)45,