web-dev-qa-db-fra.com

Effet d'ombre de fenêtre WPF

Je suis nouveau dans la technologie WPF. J'ai la déclaration de fenêtre suivante dans WPF:

<Window x:Class="CustomWindows.MainWindow"
        xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="480" Width="640" ScrollViewer.VerticalScrollBarVisibility="Disabled" WindowStyle="None" AllowsTransparency="True">
    <Window.Effect>
        <DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" ShadowDepth="2"/>
    </Window.Effect>
    <Grid>

    </Grid>
</Window>

Mais quand je l'exécute, l'ombre n'apparaît pas. Que puis-je faire ou où est l'erreur?

18
Victor

DropShadowEffect ne peut pas être appliqué à un Window. Au lieu de cela, si vous souhaitez remplacer l'apparence de la fenêtre par défaut, vous devez appliquer l'effet à un autre élément contenu dans la fenêtre:

<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" WindowStyle="None" AllowsTransparency="True" Background="Transparent">
    <Grid Margin="20" Background="Red">
        <Grid.Effect>
            <DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" ShadowDepth="2"/>
        </Grid.Effect>
        ...

    </Grid>
</Window>
42