如何删除XAML中项目之间的边距?

时间:2018-08-14 03:00:26

标签: xamarin xamarin.forms

这是我的xaml代码:

     <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:TestSalesforce"
             x:Class="TestSalesforce.MainPage">

    <StackLayout Padding="0,0,0,0">
        <!-- Place new controls here -->
        <Label Text="LOGIN" 
           HorizontalOptions="Center" />
        <Label Text="Email:" Margin="0,0,0,0"/>
        <Entry x:Name="txtEmail" Margin="0,0,0,0"/>
        <Label Text="Password:" Margin="0,0,0,0"/>
        <Entry x:Name="txtPassword" Margin="0,0,0,0"/>
        <Button x:Name="btnLogin" Text="Login"/>
        <Button x:Name="btnClose" Text="Close" Clicked="OnClose"/>
    </StackLayout>
</ContentPage>

我尝试使用Margin =“ 0,0,0,0”,但不行: 结果是: enter image description here

如何删除xaml中项目之间的边距?

3 个答案:

答案 0 :(得分:2)

看起来您已经将样式应用于元素。可能尝试将这些元素的填充设置为0(它们可能不支持填充),否则,您可能需要添加负的边距来抵消样式。

答案 1 :(得分:2)

StackLayoutGrid具有Spacing属性。间距描述布局中每个子元素之间的间距。  我认为默认情况下,StackLayouts Spacing属性不是0,而是2-5附近的东西。 尝试在堆栈布局上设置Spacing="0"

答案 2 :(得分:0)

尝试以下代码:使用网格格式

 <Grid Grid.Row="3">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Controls:Label Grid.Row="0" Font="15" Text="{Binding LabelAddress}"/>
        <StackLayout>
            <Controls:PlaceholderEditor Grid.Row="1" Text="{Binding TextAddress}" VerticalOptions="FillAndExpand" HorizontalOptions="Fill" Margin="0,20,0,0"  Placeholder="Enter Address" PlaceholderColor="{StaticResource LightGray}" AutoSize="TextChanges"/>
        </StackLayout>
    </Grid>

结果如下:

Click Here