You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinUI Expander展开时Header出现阴影,如何配置或禁用该效果?

问题原因

你遇到的是WinUI 1.0.0-preview3版本的已知渲染Bug,根源是控件默认自带的ThemeShadow(主题阴影)在非全圆角/非对称圆角场景下的裁剪计算逻辑出错:

  • 当控件的CornerRadius所有角的值一致且不为0,或者所有角都为0时,阴影裁剪逻辑正常
  • 当CornerRadius存在部分角为0、或者四个角的圆角值不对称时,阴影没有被正确裁剪,就会漏出多余的阴影边缘。该问题和你手动设置的Shadow属性无关,这个属性控制的是自定义阴影,不会影响系统默认的主题阴影。

解决方案

方案1(优先推荐):升级WinAppSDK版本

该Bug在WinAppSDK 1.0.1及之后的正式版本中已经被官方修复,你只需要将项目依赖的Microsoft.WindowsAppSDK包升级到最新稳定版即可直接解决问题。

方案2(临时兼容方案,适用于无法升级版本的场景)

如果暂时不能升级SDK版本,可以根据你的需求选择下面的适配方法:

  • 禁用控件默认主题阴影:在对应控件的样式中显式设置Translation = "0,0,0"即可,WinUI默认主题阴影是基于控件Z轴偏移值渲染的,Z轴设为0就不会生成默认阴影。针对Expander可以直接重写ExpanderHeader的样式添加该配置,针对Button可以直接在Button标签上添加该属性。
  • 裁剪多余阴影:如果需要保留阴影效果,可以给控件外层套一个和控件背景色一致的Border,将Border的CornerRadius设为和内部控件一致,同时开启ClipToBounds="True",就能把漏出的多余阴影裁剪掉。
  • 显式清空阴影配置:直接在控件上设置Shadow="{x:Null}",也可以强制禁用所有阴影效果。

内容的提问来源于stack exchange,提问作者RekiDunois

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:15:06