2010-10-26 7 views

risposta

7

solo provare questo

// 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; 
43

La risposta accettata è ormai obsoleto. Ora è possibile utilizzare:

UIElement uie = ... 
uie.Effect = 
    new DropShadowEffect 
    { 
     Color = new Color {A = 255, R = 255, G = 255, B = 0}, 
     Direction = 320, 
     ShadowDepth = 0, 
     Opacity = 1 
    }; 

Per ottenere lo stesso effetto della risposta accettata.

+0

Bello, funziona perfettamente, grazie. –

+3

Opere. Solo una nota, richiede: using System.Windows.Media.Effects; – Eternal21

6

@ La risposta di Gleno mi ha aiutato di più. Nel mio caso lo stavo usando per un feedback visivo su un elemento del modulo mancato. Per rimuovere il dropshadow utilizzato:

myComboBox.ClearValue(EffectProperty); 

in un evento selectionChanged.

Spero che questo aiuti qualcuno. Ho dovuto cercare un po '.

Problemi correlati