Lullaby
Lullaby

Reputation: 437

Wpf - Drop shadow disappears

I created a window with no style and added a custom border. I need my window to drop a shadow.

<Border BorderBrush="#000000 "           
                    BorderThickness="1,0,1,1" Width="400" 
                            Height="400" 
                            VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
                    CornerRadius="10, 10, 0, 0"
                    Background="Black">
                        <Border.Effect>
                            <DropShadowEffect Color="Black" Direction="320" 
                                    ShadowDepth="5" Opacity="1" BlurRadius="5" />
                        </Border.Effect></Border>

But my shadow disappears when I set the width and height like this :

Width="{Binding RelativeSource={RelativeSource FindAncestor, 
                    AncestorType={x:Type Window}}, Path=Width}" 

Help me find a solution please. Thanks

Upvotes: 1

Views: 796

Answers (3)

Vladimir Dorokhov
Vladimir Dorokhov

Reputation: 3839

Don't apply effects on the root visuals! In this case, they apply to all children down visual tree and will be cause of reducing performance. Use the next pattern:

<Grid x:Name="RootWindowGrid">
   <Border x:Name="BorderWithEffect" Margin="5">
      <Border.Effect>
         <DropShadowEffect Color="Black" Direction="320" ShadowDepth="5" Opacity="1" BlurRadius="5" />
       </Border.Effect>
   </Border>

   <Border x:Name="RootBorder_ForAll_Another_Window_Visuals" Margin="5"/>
</Grid>

Margin depends on effect intensivity.

Upvotes: 0

erodewald
erodewald

Reputation: 1825

Since we don't have the full scope of your solution, I must assume that the Border is within a ControlTemplate that is assigned to the Style of the Window. Remember that if you are going to apply a DropShadowEffect to the root window you need to pad it otherwise you won't see it. Apply Padding="10" to Border and you should see it.

Upvotes: 1

LenPopLilly
LenPopLilly

Reputation: 1227

Try To add on the X & Y Thickness of the Shadow to your Windows dimensions

Upvotes: 0

Related Questions