XAML Maui是否可以在线条中配置阴影?

rqmkfv5c  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(201)

我正在开发一个应用程序在.net maui和我有一个问题我还没有回答自己通过浏览。我试图应用阴影到一个边界和以下代码完美的工作。

<Border 
    Style="{StaticResource light-theme-border}"
    Grid.Column="1"
    Grid.Row="3"
    Grid.ColumnSpan="7">
    <Border.Shadow>
        <Shadow 
                Brush="red"
                Offset="1,11"
                Radius="20"
                Opacity="0.25"/>
    </Border.Shadow>
   </Border>

但是当我直接在边界属性里面写阴影时,它会捕捉属性,但我不知道如何转储[brush,offset,radius & opacity]信息:

<Border 
        Style="{StaticResource light-theme-border}"
        Grid.Column="1"
        Grid.Row="3"
        Grid.ColumnSpan="7"
        Shadow="???????????????????????????">
    </Border>
a7qyws3x

a7qyws3x1#

然后可以将其定义为资源并使用(与Style属性的操作相同):

<ContentPage.Resources>
        <ResourceDictionary>
            <Shadow
                x:Key="CommonShadow"
                Brush="red"
                Offset="1,11"
                Radius="20"
                Opacity="0.25"/>
    <Border 
        Style="{StaticResource light-theme-border}"
        Grid.Column="1"
        Grid.Row="3"
        Grid.ColumnSpan="7"
        Shadow="{StaticResource CommonShadow}">
    </Border>

或者将其集成到您现有的Border样式中

<ContentPage.Resources>
        <ResourceDictionary>
    <Style x:Key="light-theme-border" TargetType="Border">
                <Setter Property="WidthRequest" Value="20" />
                <Setter Property="Shadow">
                    <Setter.Value>
                        <Shadow
                            Brush="red"
                            Opacity="1"
                            Radius="50"
                            Offset="20,20" />
                    </Setter.Value>
                </Setter>
            </Style>
    <Border 
        Style="{StaticResource light-theme-border}"
        Grid.Column="1"
        Grid.Row="3"
        Grid.ColumnSpan="7">
    </Border>

或者将其作为静态资源集成到现有的Border样式中

<ContentPage.Resources>
        <ResourceDictionary>
             <Shadow
                x:Key="CommonShadow"
                Brush="red"
                Offset="1,11"
                Radius="20"
                Opacity="0.25"/>

            <Style x:Key="light-theme-border" TargetType="Border">
                  <Setter Property="WidthRequest" Value="20" />
                  <Setter Property="Shadow" Value="{StaticResource CommonShadow}"/>
            </Style>
        </ResourceDictionary>
</ContentPage.Resources>

    <Border 
        Style="{StaticResource light-theme-border}"
        Grid.Column="1"
        Grid.Row="3"
        Grid.ColumnSpan="7">
    </Border>

相关问题