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

MAUI中如何禁用XAML样式继承?解决Border阴影被Entry继承问题

解决Border阴影被Entry继承的问题

出现这个情况是因为MAUI里Entry的默认视觉实现会继承父元素的Shadow属性,而Label这类控件的模板没做相关绑定,所以不受影响。你可以用以下两种方式解决:

  • 直接给每个Entry显式取消阴影
    在Entry标签里添加Shadow="{x:Null}",强制清空继承的阴影属性,示例代码:

    <Border ShadowColor="Gray" ShadowRadius="10" ShadowOffset="5,5">
        <VerticalStackLayout>
            <Label Text="测试文本"/>
            <Entry Placeholder="第一个输入框" Shadow="{x:Null}"/>
            <Entry Placeholder="第二个输入框" Shadow="{x:Null}"/>
        </VerticalStackLayout>
    </Border>
    
  • 用样式统一处理多个Entry
    如果页面里有很多Entry,用样式批量设置更高效。在页面的Resources里定义针对Entry的样式,强制把Shadow设为null:

    <ContentPage.Resources>
        <Style TargetType="Entry">
            <Setter Property="Shadow" Value="{x:Null}"/>
        </Style>
    </ContentPage.Resources>
    
    <Border ShadowColor="Gray" ShadowRadius="10" ShadowOffset="5,5">
        <VerticalStackLayout>
            <Label Text="测试文本"/>
            <Entry Placeholder="第一个输入框"/>
            <Entry Placeholder="第二个输入框"/>
        </VerticalStackLayout>
    </Border>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:54:53