【问题标题】:Xamarin Forms: Remove gap between grid elementsXamarin Forms:删除网格元素之间的间隙
【发布时间】:2021-05-11 20:41:45
【问题描述】:

在 Xamarin Forms 页面中,我看到 Android 中的两个网格元素(模拟器和手机)之间存在以下间隙,如果我交换网格,也会出现相同的间隙:

<StackLayout x:DataType="auctions:AuctionViewModel">
    <Grid BackgroundColor="#444" Padding="2" Margin="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="40" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <Button x:Name="FilterButtonAll" Text="All" Clicked="SetFilterToAll" StyleClass="NoStyle" Grid.Column="0" />
        <Button x:Name="FilterButtonWatchlist" Text="Watchlist" Clicked="SetFilterToWatchlist" StyleClass="NoStyle" Grid.Column="1" />
        <Button x:Name="FilterButtonWithdrawn" Text="Withdrawn" Clicked="SetFilterToWithdrawn" StyleClass="NoStyle" Grid.Column="2" />
        <Button x:Name="FilterButtonMyVehicles" Text="My Vehicles" Clicked="SetFilterToMyVehicles" StyleClass="NoStyle" Grid.Column="3" />
    </Grid>
    <Grid BackgroundColor="#222" Padding="10,5" Margin="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="17" />
        </Grid.RowDefinitions>

        <Label Text="{Binding Auction.OverallStatus}" Grid.Column="0" FontSize="12" />
        <Label Text="{Binding TimeSinceUpdate}" HorizontalTextAlignment="End" Grid.Column="1" FontSize="12" />
    </Grid>

这会导致以下结果:

如何消除两个灰色元素之间的黑色间隙?

【问题讨论】:

  • 您需要设置 StackLayout 的间距。默认为 6
  • 谢谢。您可以将其添加为答案吗?

标签: xamarin.forms


【解决方案1】:

您需要设置 StackLayout 的间距。默认为 6

【讨论】:

    【解决方案2】:

    您有一个名为 RowSpacing 的 Grid 属性。

    <Grid RowSpacing="0" ColumnSpacing="0">
       //your content here
    </Grid>
    

    【讨论】:

    • 他所说的差距是在 StackLayout 中的两个不同网格之间,而不是在单个网格内
    • 啊,是的,我的错。您对他的问题的评论应该是这样做的正确方法