WPF窗口阴影效果具有方形角

时间:2019-03-28 23:16:00

标签: c# wpf visual-studio dropshadow

我一直在尝试使这种阴影效果起作用,但是我不知道怎么了。

我尝试给GridBorder赋予相同的效果,但是它们都具有相同的效果。

Example

<Window x:Class="New_EZexeat.ReturnMessageDialogueBox"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:New_EZexeat"
        mc:Ignorable="d"
        WindowStyle="None" WindowStartupLocation="CenterScreen" AllowsTransparency="True" Background="Transparent"
        Title="ReturnMessageDialogueBox" Height="150" Width="300">
    <Window.Effect>
        <DropShadowEffect Direction="-75" ShadowDepth="2" Opacity="0.8" BlurRadius="25" Color="Black"/>
    </Window.Effect>


    <Grid Background="Transparent">
        <Border Background="White" CornerRadius="20">
            <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                <TextBlock x:Name="itstext"
                           FontSize="15"
                           FontWeight="SemiBold"
                           Margin="0 0 0 10"
                           TextAlignment="Center"><Run Text="Username or Password is incorrect."/><LineBreak/><Run Text=" Please try again"/></TextBlock>

                <Button Content="OK"
                        Style="{StaticResource OrangeButtonTemplate}"
                        FontWeight="SemiBold"
                        FontSize="20"
                        Background="#FFFFD411" 
                        Margin="20 0 20 0"
                        IsCancel="True"
                        FocusVisualStyle="{x:Null}"
                        BorderBrush="{x:Null}" 
                        Height="45"/>
            </StackPanel>
        </Border>

    </Grid>
</Window>

1 个答案:

答案 0 :(得分:0)

要使阴影效果起作用,不能将其应用于窗口,必须将其应用于网格或边框。在下面的示例中,将其添加到带有给定边框的新边框中,这样它将可以在其中显示阴影。

enter image description here

<Border BorderBrush="Transparent" BorderThickness="20" CornerRadius="5"  Background="Transparent">
    <Border BorderBrush="Black" BorderThickness="1" CornerRadius="5" Background="#3BB2EA">
        <Border.Effect>
            <DropShadowEffect Direction="-75" ShadowDepth="2" Opacity="0.8" BlurRadius="25" Color="Black"/>
        </Border.Effect>
        <Border BorderBrush="#55FFFFFF" BorderThickness="1" CornerRadius="5">
            <DockPanel Background="white">
                <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                    <TextBlock x:Name="itstext"
                               FontSize="15"
                               FontWeight="SemiBold"
                               Margin="0 0 0 10"
                               TextAlignment="Center"><Run Text="Username or Password is incorrect."/><LineBreak/><Run Text=" Please try again"/></TextBlock>

                    <Button Content="OK"
                            Style="{StaticResource OrangeButtonTemplate}"
                            FontWeight="SemiBold"
                            FontSize="20"
                            Background="#FFFFD411" 
                            Margin="20 0 20 0"
                            IsCancel="True"
                            FocusVisualStyle="{x:Null}"
                            BorderBrush="{x:Null}" 
                            Height="45"/>
                </StackPanel>
            </DockPanel>
        </Border>
    </Border>
</Border>

相关问题