如何使以下标签的顶部和底部填充更小?据我所见,边界框比它需要的要大得多,但填充设置为0,因此无法更小。
<Label Background="AliceBlue" Content="1800" FontSize="170" FontWeight="Bold" Foreground="Gray" Padding="0" />
Margin="0,0,0,0"
,这意味着没有任何外边距。Margin="左, 上, 右, 下"
所以如果我有一个margin ="2,5,3,5"
,我刚遇到了这个问题,标签周围有边框,我设置了负边距。
<Border BorderBrush="Black" BorderThickness="1">
<Label Margin="-5" Content="Unable to report/>
</Border>
尝试将标签放在一个布局中,例如StackLayout,并为该布局提供填充,然后标签将相应地对齐。这段代码可能会对您有所帮助。
<StackLayout Padding="10">
<Label x:Name="TitleLbl"></Label>
</StackLayout>
在XAML中,FrameworkElement
没有Padding属性,可以使用Margin代替。
Padding只能应用于三个元素:Block
、Border
和Control
,因为这些元素具有外边缘。
通过设置边距并将标签包装在StackLayout中来调整标签填充
<StackLayout VerticalOptions="StartAndExpand" Margin="0,0,0,0" BackgroundColor="Red">
<Label Text="Login to your account" TextColor="White" Margin="10,10,10,10" />
</StackLayout>
public class SALabel : Label
{
public static readonly BindableProperty PaddingProperty = BindableProperty.Create("Padding", typeof(Thickness), typeof(SALabel),default(Thickness));
public Thickness Padding
{
get { return (Thickness)GetValue(PaddingProperty); }
set { SetValue(PaddingProperty, value); }
}
}
Control.SetPadding((int)saElement.Padding.Left, (int)saElement.Padding.Top, (int)saElement.Padding.Right, (int)saElement.Padding.Bottom);