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

如何在MAUI中为Border创建正确的Style样式?

解决MAUI中Border Style设置渐变Stroke的XFC0040错误

你遇到的XFC0040错误,核心原因是MAUI的Style Setter不支持通过链式属性路径(比如Stroke.LinearGradientBrush.EndPoint)设置嵌套属性,Setter的Property必须是直接的BindableProperty,不能用这种层级嵌套的路径写法。

修正后的Style代码

把渐变笔刷的完整定义直接放在Stroke属性的Setter中,和你在Border控件内的写法结构一致,就能解决问题:

<Style TargetType="Border" x:Key="borderFlashCard">
    <!-- 正确定义渐变Stroke -->
    <Setter Property="Stroke">
        <Setter.Value>
            <LinearGradientBrush EndPoint="0,1">
                <GradientStop Color="{StaticResource Gray100}" Offset="0.1" />
                <GradientStop Color="{StaticResource Gray500}" Offset="1.0" />
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
    
    <!-- 保留你原来的其他属性设置 -->
    <Setter Property="StrokeShape" Value="RoundRectangle 13" />
    <Setter Property="StrokeThickness" Value="5" />
    <Setter Property="HeightRequest" Value="90" />
    <Setter Property="WidthRequest" Value="100" />
</Style>

关键修正点

  1. 移除了错误的Value="Black}"(注意多了一个多余的闭合大括号),替换为完整的LinearGradientBrush定义
  2. 不再拆分设置Stroke的子属性,而是直接给Stroke赋值完整的渐变笔刷对象
  3. 保留了你原本需要的其他Border样式属性

之后你的Border控件就可以正常引用这个Style,无需再在控件内重复定义Stroke属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:07:27