2010-09-23 11 views

Respuesta

6

Puede hacer esto por ejemplo:

<Label Content="LabelText:" > 
     <Label.BitmapEffect> 
      <DropShadowBitmapEffect Color="Black" Direction="320" ShadowDepth="10" Opacity=".5" Softness="9" /> 
     </Label.BitmapEffect> 
</Label> 
+4

Comenzando con .NET 4.0, esto no hará nada. Use DropShadowEffect en su lugar. –

+0

... y se usa en las versiones anteriores a 4.0, ralentizarán el dibujo de la IU (incluso si se usan muy poco y en elementos pequeños). No estoy 100% seguro al respecto, pero tengo en mente que los Efectos de mapa de bits obligan al motor de renderizado a usar la representación de software en lugar de la representación de hardware (si está disponible). – HCL

5

Los efectos del mapa de bits son obsoletos desde .NET 3.5 (SP1?). Use DropShadowEffect en su lugar.

EDITAR: Dado que los efectos son obsoletos por un tiempo, en .NET 4.0 son un bloque de código vacío, es decir, no hacen nada.

4

Utilice el DropShadowEffect en lugar del DropShadowBitmapEffect. Los efectos de mapa de bits son obsoletos. Pero ten cuidado con los efectos. Use el WPF performance Suite para verificar el comportamiento de rendimiento de los efectos usados. Ya he visto impactos muy malos en el rendimiento al usar las clases de efectos. Ver here para un ejemplo.

Otra opción sería decorar la etiqueta con un Border. Si ajusta el espesor en consecuencia, esto sería como una sombra:

<Border BorderThickness="1,1,20,20" BorderBrush="Black"> 
     <Label /> 
</Border> 

(no he mirado como pueden quedar por encima de la frontera como usted tiene que jugar un poco para conseguir un buen resultado.).

+0

Gracias por la punta. Solo lo estoy usando con una sola etiqueta de carácter, así que debería estar bien (podría usar también una imagen). – Hedge

Cuestiones relacionadas