xamarin 在.NET MAUI中向Entry控件全局添加圆角

e3bfsja2  于 2023-09-28  发布在  .NET
关注(0)|答案(1)|浏览(319)

在.NET MAUI中,有一种很好的方法可以通过Resources/Styles文件夹下的Styles.xaml文件全局处理控件的样式。
有没有办法通过Styles.xaml文件向所有Entry控件添加圆角,而不是在ContentPageXAML文件中单独处理它?
下面是.NET MAUI应用程序中Entry控件的标准样式。有没有办法在这里加上圆角?我知道我们现在通过Border控件处理圆角。我可以在Styles.xaml中定义一个边框,然后在Entry控件的样式中引用它吗?

<Style TargetType="Entry">
   <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Black}, Dark={StaticResource White}}" />
   <Setter Property="BackgroundColor" Value="{StaticResource FormElementBackground}" />
   <Setter Property="FontFamily" Value="OpenSansRegular"/>
   <Setter Property="FontSize" Value="14" />
   <Setter Property="PlaceholderColor" Value="{AppThemeBinding Light={StaticResource Gray200}, Dark={StaticResource Gray500}}" />
   <Setter Property="VisualStateManager.VisualStateGroups">
      <VisualStateGroupList>
         <VisualStateGroup x:Name="CommonStates">
            <VisualState x:Name="Normal" />
            <VisualState x:Name="Disabled">
               <VisualState.Setters>
                  <Setter Property="TextColor" Value="{AppThemeBinding Light={StaticResource Gray300}, Dark={StaticResource Gray600}}" />
               </VisualState.Setters>
            </VisualState>
         </VisualStateGroup>
      </VisualStateGroupList>
   </Setter>
</Style>
pkmbmrz7

pkmbmrz71#

这是如何将边框添加到entry控件

<Border Stroke="pink"
        StrokeThickness="2">
    <Entry
            Placeholder="I am textbox">
    </Entry>
</Border>

如果要为边框提供形状,请添加Border.StrokeShape

<Border Stroke="pink"
        StrokeThickness="2">
    <Border.StrokeShape>
        <RoundRectangle CornerRadius="0,45,45,0" />
    </Border.StrokeShape>
    <Entry
            Placeholder="I am textbox">
    </Entry>
</Border>

相关问题