J'ai essayé d'ajuster la largeur et la hauteur de mon contrôle [Entry] de zone de texte dans l'application Xamarin.Forms pour iPad, mais il ne définit pas la largeur à l'aide de la propriété WidthRequest.
Quelqu'un peut-il m'aider pour la même chose sur la façon de définir la largeur des contrôles.
Voici mon code de XAML pour la même chose en utilisant Grid & StackLayout mais aucun d'entre eux n'a fonctionné.
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto" ></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="10"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Image Grid.Row="0" Grid.Column="0" Source="loginlogo.png"></Image>
<StackLayout Grid.Row="1" Grid.Column="0">
<Entry Placeholder="Enter Username" WidthRequest="20"></Entry>
<Entry Placeholder="Enter Password" WidthRequest="20"></Entry>
<Button Text="Button 1"></Button>
</StackLayout>
</Grid>
Également essayé avec Stack Layout
<StackLayout Spacing="10">
<Entry x:Name="txtUserName" Placeholder="Enter Username" WidthRequest="2" HeightRequest="200"></Entry>
<Entry x:Name="txtPassword" Placeholder="Enter Password" WidthRequest="2" HeightRequest="200"></Entry>
<Button Text="Button 1"></Button></StackLayout>
Notez que vous devez spécifier HorizontalOptions avec WidthRequest pour que cela fonctionne sur un StackLayout car il tentera de se développer automatiquement par défaut.
Exemple ci-dessous pour StackLayout: -
StackLayout objStackLayout = new StackLayout()
{
Spacing = 10
};
//
Entry objEntry1 = new Entry()
{
Placeholder = "Enter Username",
WidthRequest = 300,
HeightRequest = 200,
HorizontalOptions = LayoutOptions.Start
};
objStackLayout.Children.Add(objEntry1);
//
Entry objEntry2 = new Entry()
{
Placeholder = "Enter Password",
WidthRequest = 200,
HeightRequest = 200,
HorizontalOptions = LayoutOptions.Start
};
objStackLayout.Children.Add(objEntry2);
//
Button objButton1 = new Button()
{
Text = "Button1",
HorizontalOptions = LayoutOptions.Start
};
objStackLayout.Children.Add(objButton1);
Utilisez StackLayout
avec une combinaison d'espacements, d'options horizontales/verticales et de rembourrages. Exemple:
<StackLayout Padding="20" Spacing="10">
<Entry Placeholder="Username"
VerticalOptions="Start"
HorizontalOptions="FillAndExpand" />
<Entry Placeholder="Password"
VerticalOptions="Start"
HorizontalOptions="FillAndExpand" />
<Button Text="Submit" VerticalOptions="EndAndExpand" />
</StackLayout>