首页 > 解决方案 > 以渐变为背景的 XAML 全局样式

问题描述

您可以在 xaml 中为这样的页面设置渐变背景

<Button.Background>
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
        <GradientStop Color="White" Offset="0.6" />
        <GradientStop Color="Blue" Offset="1.0" />
    </LinearGradientBrush>
</Button.Background> 

但是当我搜索以全局样式执行此操作时要使用的格式时

<ResourceDictionary>
  <Style TargetType="Button">
    <Setter Property="BorderColor" Value="Lime" />
    <Setter Property="BorderRadius" Value="10" />
    ......

我发现没有什么可用的。似乎这甚至可能不可行?大多数链接甚至似乎认为没有插件就没有直接支持渐变,所以也许它是 xamarin 表单的新增功能?

我特别想对按钮和内容页面执行此操作,但我怀疑两者的格式相同 - 如果完全支持的话。

标签: xamlxamarin.formsstylesimplicit-style

解决方案


您可以尝试以下方法:

<ResourceDictionary>
    <Style TargetType="Button">
        <Setter Property="Background">
            <Setter.Value>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                    <GradientStop Color="White" Offset="0.6"/>
                    <GradientStop Color="Blue" Offset="1.0"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

请记住,当前 Xamarin.forms 存在全局隐式样式问题

文档:样式和模板


推荐阅读