如何使以下标签中的顶部和底部填充更小?正如我所看到的,边界框比它需要的大得多,但填充设置为 0,所以它不能更小。
<Label Background="AliceBlue" Content="1800" FontSize="170" FontWeight="Bold" Foreground="Gray" Padding="0" />
您可以使用保证金。
使用边距,您可以设置要向左、向右、上、下移动的数量
我的意思是Margin="0,0,0,0"
那个意思。你什么都没有。
它通过以下方式进行:Margin ="left, top, right, bottom
所以如果我有margin ="2,5,3,5"
这意味着我有一个距左侧 2 个像素的边距,距顶部 5 个像素,距右侧 3 个像素和距底部 5 个像素的边距。
刚刚在标签周围有边框的地方点击了这个,我设置了一个负边距。
<Border BorderBrush="Black" BorderThickness="1">
<Label Margin="-5" Content="Unable to report/>
</Border>
填充在 XAML 中不存在于FrameworkElement
. 使用保证金。
填充可以应用于三个元素:Block
,Border
并且Control
因为这些元素有一个外边缘。
Try to wrap the Label in a Layout for example StackLayout and give padding to that Layout, then Label will align accordingly. This code may helps you.
<StackLayout Padding="10">
<Label x:Name="TitleLbl"></Label>
</StackLayout>
通过设置边距并将其包装在 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>
制作自定义渲染器 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);
如果您可以更改为使用 TextBlock,那么您可以更好地控制填充。Label 的目的似乎是通过其内部样式固定填充。请参阅“如何删除 WPF 标签中文本周围的边距? ”。