Tengo una cuadrícula de Xamarin.Forms que estoy configurando y he notado que los campos Entry son mucho más altos (3 - 4 veces) que los campos de etiqueta. No veo ninguna razón obvia por la que este sería el caso.

<Grid RowSpacing="0" ColumnSpacing="0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>

    <Label Grid.Row="0" Grid.Column="0" Text="G/C" FontSize="Small"/>
    <Entry Grid.Row="1" Grid.Column="0" FontSize="Small" BackgroundColor="Red"/>
</Grid>

Esto da como resultado algo como esto (en el emulador de Android predeterminado, instalado hace 2 días); Ejemplo de entrada

¿Alguien tiene alguna sugerencia sobre por qué la altura de entrada es mucho más grande y qué puedo hacer para reducirla (obviamente, HeightRequest, pero prefiero evitar si es posible)?

0
Trent 14 nov. 2017 a las 04:50

2 respuestas

La mejor respuesta

Según sus comentarios, aquí hay una sugerencia para hacer lo que quiera en XAML. Puede vincular Entry.HeightRequest a Label.Height para evitar configurarlo manualmente.

<Grid RowSpacing="0" ColumnSpacing="0">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>

    <Label Grid.Row="0" Grid.Column="0" Text="G/C" FontSize="Small" x:Name="MyLabel" />
    <Entry Grid.Row="1" Grid.Column="0" FontSize="Small" BackgroundColor="Red" HeightRequest="{Binding Source={x:Reference MyLabel}, Path=Height}"/>
</Grid>
2
Paul Kertscher 17 nov. 2017 a las 08:05

Use Star (*) como la altura de las filas, esto hará que todas las filas tengan la misma altura. Auto establecerá las filas a una altura en la que el control simplemente se ajuste.

0
Paul Kertscher 14 nov. 2017 a las 05:55