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

如何设置Material Design按钮背景且不显示阴影并去除圆角?

解决Material Design按钮的阴影与圆角问题

嘿,我明白你现在的困扰——用Material Design的Button设置背景后自带阴影和圆角,临时用透明按钮加后方矩形的方法确实有点绕,而且代码可读性差。其实咱们可以直接利用Material Design提供的附加属性来优雅解决这个问题,不用搞那些取巧的操作!

直接修改单个按钮的属性

你只需要给按钮加上两个Material Design的附加属性就能搞定:

  • materialDesign:ButtonAssist.Elevation="0":Material Design的按钮阴影是通过**海拔高度(Elevation)**控制的,设为0就会完全移除阴影效果;
  • materialDesign:ButtonAssist.CornerRadius="0":这个属性可以直接覆盖按钮的默认圆角,让它变成直角样式。

修改后的代码如下:

<Button Grid.Column="1" 
        Background="{StaticResource BurgundyLightBrush}" 
        Command="{Binding Path=EditSwitchCommand}"
        materialDesign:ButtonAssist.Elevation="0"
        materialDesign:ButtonAssist.CornerRadius="0">
    <materialDesign:PackIcon Kind="Edit" />
</Button>

全局复用的样式方案

如果你有多个按钮需要这种无阴影、直角的样式,更推荐创建一个自定义Style,避免重复写属性:

<Style x:Key="FlatSquareMaterialButton" TargetType="{x:Type Button}" 
       BasedOn="{StaticResource MaterialDesignButton}">
    <Setter Property="materialDesign:ButtonAssist.Elevation" Value="0"/>
    <Setter Property="materialDesign:ButtonAssist.CornerRadius" Value="0"/>
    <!-- 可以在这里添加其他自定义设置,比如边框、字体等 -->
</Style>

之后你的按钮只需要引用这个Style就行:

<Button Grid.Column="1" 
        Style="{StaticResource FlatSquareMaterialButton}"
        Background="{StaticResource BurgundyLightBrush}" 
        Command="{Binding Path=EditSwitchCommand}">
    <materialDesign:PackIcon Kind="Edit" />
</Button>

这种方法比你之前的临时方案简洁太多,而且完全符合Material Design控件的设计逻辑,代码可读性也高很多~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:22:55