WPF:为代码隐藏中的元素添加一个drophadow效果

Pra*_*apa 12 c# wpf .net-4.0

我觉得这会很简单,但到目前为止我什么都没发现.你怎么做呢?

Gle*_*eno 48

接受的答案现在已经过时了.现在您可以使用:

UIElement uie = ...
uie.Effect = 
    new DropShadowEffect
    {
        Color = new Color {A = 255, R = 255, G = 255, B = 0},
        Direction = 320,
        ShadowDepth = 0,
        Opacity = 1
    };
Run Code Online (Sandbox Code Playgroud)

达到与接受的答案完全相同的效果.

  • 作品.只需注意,它需要:使用System.Windows.Media.Effects; (5认同)

Kis*_*mar 8

试试吧

// Get a reference to the Button.
Button myButton = new Button();

// Initialize a new DropShadowBitmapEffect that will be applied
// to the Button.
DropShadowBitmapEffect myDropShadowEffect  = new DropShadowBitmapEffect();
// Set the color of the shadow to Black.
Color myShadowColor = new Color();
myShadowColor.ScA = 1;
myShadowColor.ScB  = 0;
myShadowColor.ScG  = 0;
myShadowColor.ScR  = 0;
myDropShadowEffect.Color = myShadowColor;

// Set the direction of where the shadow is cast to 320 degrees.
myDropShadowEffect.Direction = 320; 

// Set the depth of the shadow being cast.
myDropShadowEffect.ShadowDepth = 25; 

// Set the shadow softness to the maximum (range of 0-1).
myDropShadowEffect.Softness = 1;
// Set the shadow opacity to half opaque or in other words - half transparent.
// The range is 0-1.
myDropShadowEffect.Opacity = 0.5; 

// Apply the bitmap effect to the Button.
myButton.BitmapEffect = myDropShadowEffect; 
Run Code Online (Sandbox Code Playgroud)


Zig*_*Zig 7

@ Gleno的回答对我帮助最大.在我的情况下,我使用它来对错过的表单项进行视觉反馈.然后删除我使用的阴影:

myComboBox.ClearValue(EffectProperty);
Run Code Online (Sandbox Code Playgroud)

在selectionChanged事件中.

希望这有助于某人.我不得不搜索一下.