Tenho a seguinte página de conteúdo definida:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="OrganizeMyLeague.Subscription"
x:DataType="Line"
Title="Subscription">
<VerticalStackLayout
Padding="5,0"
Spacing="5">
<Label Text="Account Information"
Style="{StaticResource Headline}"
TextColor="Blue"
HorizontalOptions="Center"
SemanticProperties.HeadingLevel="Level1"/>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="250" />
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Grid.Column="0" HorizontalTextAlignment="End" VerticalOptions="Center" Text="First Name" FontSize="16" TextColor="Black" HorizontalOptions="Start" />
<Entry Grid.Row="0" Grid.Column="1" x:Name="txtFirstname" Placeholder="Enter First Name" PlaceholderColor="#C7C7C7" WidthRequest="150" VerticalOptions="Center" FontSize="16" TextColor="Blue" HorizontalOptions="End" />
<Label Grid.Row="1" Grid.Column="0" HorizontalTextAlignment="End" VerticalOptions="Center" Text="Last Name" FontSize="16" TextColor="Black" HorizontalOptions="Start" />
<Entry Grid.Row="1" Grid.Column="1" x:Name="txtLasttname" Placeholder="Enter Last Name" PlaceholderColor="#C7C7C7" WidthRequest="150" VerticalOptions="Center" FontSize="16" TextColor="Blue" HorizontalOptions="End" />
<Label Grid.Row="2" Grid.Column="0" HorizontalTextAlignment="End" VerticalOptions="Center" Text="Address" FontSize="16" TextColor="Black" HorizontalOptions="Start" />
<Entry Grid.Row="2" Grid.Column="1" x:Name="txtAddress" Placeholder="Enter Address" PlaceholderColor="#C7C7C7" WidthRequest="150" VerticalOptions="Center" FontSize="16" TextColor="Blue" HorizontalOptions="End" />
<Label Grid.Row="3" Grid.Column="0" HorizontalTextAlignment="End" VerticalOptions="Center" Text="City" FontSize="16" TextColor="Black" HorizontalOptions="Start" />
<Entry Grid.Row="3" Grid.Column="1" x:Name="txtCity" Placeholder="Enter City" PlaceholderColor="#C7C7C7" WidthRequest="150" VerticalOptions="Center" FontSize="16" TextColor="Blue" HorizontalOptions="End" />
<Label Grid.Row="4" Grid.Column="0" HorizontalTextAlignment="End" VerticalOptions="Center" Text="Select State" FontSize="16" TextColor="Black" HorizontalOptions="Start" />
<Picker Grid.Row="4" Grid.Column="1" x:Name="txtState" WidthRequest="150" VerticalOptions="Center" FontSize="16" TextColor="Blue" HorizontalOptions="End" />
<Label Grid.Row="5" Grid.Column="0" HorizontalTextAlignment="End" VerticalOptions="Center" Text="Zip Code" FontSize="16" TextColor="Black" HorizontalOptions="Start" />
<Entry Grid.Row="5" Grid.Column="1" x:Name="txtZipCode" Placeholder="Enter Zip Code" PlaceholderColor="#C7C7C7" WidthRequest="150" VerticalOptions="Center" FontSize="16" TextColor="Blue" HorizontalOptions="End" />
</Grid>
</VerticalStackLayout>
</ContentPage>
É assim que ele é exibido:
Não consigo afetar a segunda coluna na grade, não importa o que eu faça, não consigo deixar a coluna mais próxima dos rótulos. Eu preferiria que o controle de entrada aparecesse precisamente à direita do rótulo, mas aparentemente não há como fazer isso. Vou me contentar em deixar a segunda coluna (coluna 1) mais próxima do texto do rótulo.
para colocar elementos próximos uns dos outros, use
HorizontalStackLayout
uma grade de coluna únicaEnquanto você fez o que foi definido
HorizontalOptions="Center"
para você,Label
você não fez isso para vocêGrid
, ou seja, você precisaIsso ocorre porque suas ColumnDefinitions 100, 250 combinadas com as HorizontalOptions padrão causam o problema espacial que você está descrevendo.