Ombre portée WPF

Actuellement, je fais quelque chose dans WPF qui a une bordure qui contient une grille et d'autres contrôles. Le problème auquel je suis confronté est que chaque fois que je mets la frontière.Effet propriété à un effet d'ombre portée chaque contrôle contenu dans la bordure a maintenant une ombre portée. Y a-t-il un moyen de définir l'ombre juste à la frontière et pas tous les contrôles contenus dans la frontière?

Voici un petit exemple de mon code:

<Grid>
 <Border Margin="68,67,60,67" BorderBrush="Black" BorderThickness="1" CornerRadius="10">
  <Border.Effect>
   <DropShadowEffect/>
  </Border.Effect>
  <Rectangle Fill="White" Stroke="Black" Margin="37,89,118,98" />
 </Border>
</Grid>
27
demandé sur Petezah 2010-05-14 04:03:46

1 réponses

Deux choix:

Option 1: Ajoutez un élément de bordure avec l'effet sur celui-ci en tant que frère de l'arborescence des éléments de bordure / rectangle que vous avez. Quelque chose comme ceci:

<Grid>
    <Border Margin="68,67,60,67"
            BorderBrush="Black"
            BorderThickness="1"
            CornerRadius="10">
        <Border.Effect>
            <DropShadowEffect />
        </Border.Effect>
    </Border>
    <Border Margin="68,67,60,67"
            BorderBrush="Black"
            BorderThickness="1"
            CornerRadius="10">

        <Rectangle Fill="White"
                   Stroke="Black"
                   Margin="37,89,118,98">
        </Rectangle>
    </Border>

</Grid>

Option 2: Placez le rectangle comme un frère de l'élément border comme ceci:

   <Grid>
    <Border Margin="68,67,60,67"
            BorderBrush="Black"
            BorderThickness="1"
            CornerRadius="10">
        <Border.Effect>
            <DropShadowEffect />
        </Border.Effect>
    </Border>
    <Rectangle Fill="White"
               Stroke="Black"
               Margin="37,89,118,98">
    </Rectangle>

</Grid>

REMARQUE: Vous devrez modifier la mise en page de la deuxième solution pour aligner le rectangle où vous le souhaitez

35
répondu Brad Cunningham 2012-05-29 18:29:48