在 WPF 中,阴影(Shadow)和模糊(Blur)效果可以通过 DropShadowEffect 和 BlurEffect 来实现。它们通常用于提高界面的视觉美感,突出控件或创建玻璃、毛玻璃风格的 UI 效果。


✅ 一、阴影效果:DropShadowEffect

<Button Content="带阴影的按钮"
        Width="200" Height="50" FontSize="16">
    <Button.Effect>
        <DropShadowEffect Color="Black"
                          Direction="320"
                          ShadowDepth="5"
                          BlurRadius="10"
                          Opacity="0.5"/>
    </Button.Effect>
</Button>

参数说明:

  • Color:阴影颜色
  • Direction:阴影方向(角度,0 表示右侧,90 表示下方)
  • ShadowDepth:阴影距离
  • BlurRadius:阴影模糊度
  • Opacity:透明度(0~1)

✅ 二、模糊效果:BlurEffect

<Image Source="your-image.jpg" Width="300" Height="200">
    <Image.Effect>
        <BlurEffect Radius="8"/>
    </Image.Effect>
</Image>

参数说明:

  • Radius:模糊程度(值越大越模糊)

✅ 三、叠加使用阴影 + 模糊(如毛玻璃面板)

<Border Width="300" Height="200" CornerRadius="15" Background="#AAFFFFFF">
    <Border.Effect>
        <DropShadowEffect Color="#444"
                          Direction="270"
                          ShadowDepth="10"
                          BlurRadius="15"
                          Opacity="0.6"/>
    </Border.Effect>
    <Border.Effect>
        <BlurEffect Radius="5"/>
    </Border.Effect>

    <!-- 内容 -->
    <TextBlock Text="毛玻璃风格"
               VerticalAlignment="Center"
               HorizontalAlignment="Center"
               FontSize="20"
               Foreground="Black"/>
</Border>

⚠️ 注意:不能同时设置两个 Effect,需要使用更复杂的组合结构,比如嵌套 Border 或使用 ShaderEffect 自定义效果。


✅ 四、模仿毛玻璃效果(需要 Win10+ 支持)

如果你想要真正的 毛玻璃(Acrylic Blur) 效果,可以借助 WPF UI 框架 或使用 Windows API:

<Window x:Class="GlassWindow"
        AllowsTransparency="True"
        Background="Transparent"
        WindowStyle="None">
    <Grid>
        <!-- 添加模糊背景 -->
        <Border Background="#CCFFFFFF" CornerRadius="10">
            <Border.Effect>
                <BlurEffect Radius="10"/>
            </Border.Effect>
            <TextBlock Text="毛玻璃窗体"
                       FontSize="24"
                       Foreground="Black"
                       HorizontalAlignment="Center"
                       VerticalAlignment="Center"/>
        </Border>
    </Grid>
</Window>

🔧 补充:后台动态设置阴影或模糊

myButton.Effect = new DropShadowEffect
{
    Color = Colors.Gray,
    Direction = 320,
    ShadowDepth = 5,
    BlurRadius = 10,
    Opacity = 0.5
};

如果你想打造类似 Win11 Fluent Design 风格(含阴影、透明、圆角、毛玻璃),可以继续深入使用 WinUI in WPF 或使用第三方 UI 框架(如 MahApps、ModernWPF、WPFUI)。

好的!以下是一个完整的 WPF 示例项目(XAML),展示如何在 ButtonImage 和 Border 控件上应用阴影(DropShadowEffect)和模糊(BlurEffect),并模拟毛玻璃(Acrylic-like)界面风格。


✅ 示例 XAML 页面:带阴影与模糊的界面

<Window x:Class="WpfEffectsDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WPF 阴影与模糊示例" Height="400" Width="600"
        WindowStartupLocation="CenterScreen"
        Background="#FFEFEFEF">
    <Grid Margin="20">

        <!-- 阴影按钮 -->
        <Button Content="阴影按钮"
                Width="200" Height="50" FontSize="16"
                HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0">
            <Button.Effect>
                <DropShadowEffect Color="Black"
                                  Direction="320"
                                  ShadowDepth="6"
                                  BlurRadius="10"
                                  Opacity="0.4"/>
            </Button.Effect>
        </Button>

        <!-- 模糊图片 -->
        <Image Source="https://via.placeholder.com/300x180"
               Width="300" Height="180"
               HorizontalAlignment="Right" VerticalAlignment="Top">
            <Image.Effect>
                <BlurEffect Radius="6"/>
            </Image.Effect>
        </Image>

        <!-- 模拟毛玻璃的 Border -->
        <Border Width="400" Height="150"
                CornerRadius="12"
                Background="#99FFFFFF"
                HorizontalAlignment="Center" VerticalAlignment="Bottom">
            <Border.Effect>
                <DropShadowEffect Color="Gray"
                                  Direction="270"
                                  ShadowDepth="8"
                                  BlurRadius="15"
                                  Opacity="0.5"/>
            </Border.Effect>

            <!-- 模糊内容叠加 -->
            <Grid>
                <Grid.Effect>
                    <BlurEffect Radius="4"/>
                </Grid.Effect>

                <TextBlock Text="毛玻璃风格面板"
                           FontSize="20"
                           Foreground="Black"
                           VerticalAlignment="Center"
                           HorizontalAlignment="Center"/>
            </Grid>
        </Border>

    </Grid>
</Window>

📌 效果总结

控件效果
Button黑色阴影,浮起感
Image模糊图片背景
Border模拟玻璃面板 + 阴影 + 模糊

🧩 注意事项

  • 如果你用的是 .NET 6+,默认 WPF 支持这些效果;
  • 如果想做成 Win11 风格玻璃窗体,还可以借助:
    • WindowChrome
    • AllowTransparency="True"
    • 自定义 Win32 API(启用 DWM 毛玻璃效果)

📦 需要我为你打包完整示例项目(.zip)或扩展为 Win11 风格的 Fluent UI 吗?也可以加上动画、点击阴影变化、磨砂导航栏等。只需告诉我:

✅ “我要完整项目 + 毛玻璃窗体” 或
✅ “我要阴影+动画效果版”

好的!以下是你请求的 WPF 完整项目结构,包含阴影、模糊、模拟毛玻璃等效果,适合用于登录界面、弹窗、控制面板等 UI 场景。


📁 项目结构预览(WPF .NET 6 或 .NET Framework 均适用)

WpfEffectsDemo/
├── App.xaml
├── App.xaml.cs
├── MainWindow.xaml
├── MainWindow.xaml.cs
└── Resources/
    └── sample.jpg (可选背景图)

✅ MainWindow.xaml 示例代码

<Window x:Class="WpfEffectsDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="毛玻璃 + 阴影效果"
        Height="450" Width="800"
        WindowStartupLocation="CenterScreen"
        Background="#FFF0F0F0"
        WindowStyle="None"
        AllowsTransparency="True">

    <Grid>
        <!-- 半透明背景 -->
        <Image Source="Resources/sample.jpg" Stretch="Fill" Opacity="0.3"/>
        
        <!-- 毛玻璃面板 -->
        <Border Background="#AAFFFFFF" CornerRadius="15"
                HorizontalAlignment="Center" VerticalAlignment="Center"
                Width="400" Height="220">
            <Border.Effect>
                <DropShadowEffect BlurRadius="20" ShadowDepth="5"
                                  Color="Black" Opacity="0.4"/>
            </Border.Effect>

            <Grid>
                <Grid.Effect>
                    <BlurEffect Radius="8"/>
                </Grid.Effect>

                <StackPanel VerticalAlignment="Center">
                    <TextBlock Text="WPF 毛玻璃登录框"
                               FontSize="22" FontWeight="Bold"
                               HorizontalAlignment="Center" Margin="0,0,0,10"/>
                    <TextBox Width="280" Height="30" Margin="10"
                             PlaceholderText="用户名"/>
                    <PasswordBox Width="280" Height="30" Margin="10"/>
                    <Button Content="登录" Width="120" Height="32"
                            HorizontalAlignment="Center" Margin="10"/>
                </StackPanel>
            </Grid>
        </Border>
    </Grid>
</Window>

✅ App.xaml

<Application x:Class="WpfEffectsDemo.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
         
    </Application.Resources>
</Application>

✅ 背景图片(可选)

放置任意图片到 Resources/sample.jpg,也可用在线图片 URL 替代。


📦 打包下载项目代码(如何操作?)

目前我无法直接上传 ZIP 文件给你,但你可以:

▶ 方式一:复制粘贴

  1. 打开 Visual Studio
  2. 创建 WPF 项目(.NET 6 或 .NET Framework)
  3. 替换 MainWindow.xaml 和 App.xaml 内容
  4. 添加一张背景图片命名为 sample.jpg 放在 Resources 文件夹中
  5. 运行,即可看到效果

🧠 想升级体验?

如果你想要:

  • Win11 风格的无边框窗口 + 拖动
  • Fluent UI 图标 + 动画交互
  • 毛玻璃过渡 + 模拟 Acrylic

告诉我 “升级为 Fluent 风格毛玻璃窗体”,我将提供更精致的版本!