如何在XAML标签中调整填充

9

如何使以下标签的顶部和底部填充更小?据我所见,边界框比它需要的要大得多,但填充设置为0,因此无法更小。

<Label Background="AliceBlue" Content="1800" FontSize="170" FontWeight="Bold" Foreground="Gray" Padding="0" />

你好Bjarne,我有同样的问题,你找到解决方法了吗?还有其他人知道解决方案吗?当使用较大的字体大小(例如20)时,您可以最好地看到此效果。 - stefan.at.kotlin
7个回答

4
您可以使用外边距。
使用外边距,您可以设置要向左、右、上、下移动的数量。
我的意思是 Margin="0,0,0,0",这意味着没有任何外边距。
它按照以下方式设置:Margin="左, 上, 右, 下" 所以如果我有一个margin ="2,5,3,5"
这意味着我从左侧内边距2像素,从顶部内边距5像素,从右侧内边距3像素和从底部内边距5像素。

如果我使用margin margin ="5,0,0,0",那么标签会向右移动,但我只想移动文本。 - R15

3

我刚遇到了这个问题,标签周围有边框,我设置了负边距。

<Border BorderBrush="Black" BorderThickness="1">
    <Label Margin="-5" Content="Unable to report/>
</Border>

2

尝试将标签放在一个布局中,例如StackLayout,并为该布局提供填充,然后标签将相应地对齐。这段代码可能会对您有所帮助。

<StackLayout Padding="10">
    <Label x:Name="TitleLbl"></Label>
</StackLayout> 

2

在XAML中,FrameworkElement没有Padding属性,可以使用Margin代替。

Padding只能应用于三个元素:BlockBorderControl,因为这些元素具有外边缘。


1

通过设置边距并将标签包装在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>

1
制作自定义渲染器 PCL:

 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);

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接