gpt4 book ai didi

c# - 网格占据所有空间 Xamarin

转载 作者:行者123 更新时间:2023-11-30 00:38:17 26 4
gpt4 key购买 nike

我在我的 xamarin 表单应用程序中有一个 xaml,其中我在主垂直 StackLayout 中有一个 Grid 和一个水平 StackLayout。问题是 Grid 占据了屏幕的所有垂直空间,我看不到内部 StackLayout。这是代码。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Practice3.AddPage">
<StackLayout Margin="15,10,15,5" Orientation="Vertical">
<Grid VerticalOptions="Center" HorizontalOptions="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<!-- Row 0 -->
<Label
x:Name="TitleText"
Text="New film:"
Grid.Row="0"
Grid.Column="0"
FontSize="Large"
FontAttributes="Bold"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Default"
Placeholder="Title"
x:Name="TitleEntry"
Grid.Row="0"
Grid.Column="1"
FontSize="Large"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 2 -->
<Label
x:Name="YearLabel"
Text="Year:"
Grid.Row="1"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Numeric"
Placeholder="Year"
x:Name="YearEntry"
Grid.Row="1"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 2 -->
<Label
x:Name="DurationLabel"
Text="Duration:"
Grid.Row="2"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Numeric"
Placeholder="Duration"
x:Name="DurationEntry"
Grid.Row="2"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 3 -->
<Label
x:Name="CountryLabel"
Text="Country:"
Grid.Row="3"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Country"
x:Name="CountryEntry"
Grid.Row="3"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 4 -->
<Label
x:Name="DirectorLabel"
Text="Director:"
Grid.Row="4"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Director"
x:Name="DirectorEntry"
Grid.Row="4"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 5 -->
<Label
x:Name="ScreenwriterLabel"
Text="Screenwriter:"
Grid.Row="5"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Screenwriter"
x:Name="ScreenwriterEntry"
Grid.Row="5"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 6 -->
<Label
x:Name="MusicLabel"
Text="Music:"
Grid.Row="6"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Music"
x:Name="MusicEntry"
Grid.Row="6"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 7 -->
<Label
x:Name="CinematographyLabel"
Text="Cinematography:"
Grid.Row="7"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Cinematography"
x:Name="CinematographyEntry"
Grid.Row="7"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 8 -->
<Label
x:Name="CastLabel"
Text="Cast:"
Grid.Row="8"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Editor WidthRequest="500"
HeightRequest="75"
Keyboard="Text"
x:Name="CastEntry"
Grid.Row="8"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 9 -->
<Label
x:Name="ProducerLabel"
Text="Producer:"
Grid.Row="9"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Default"
Placeholder="Producer"
x:Name="ProducerEntry"
Grid.Row="9"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 10 -->
<Label
x:Name="GenreLabel"
Text="Genre:"
Grid.Row="10"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Default"
Placeholder="Genre"
x:Name="GenreEntry"
Grid.Row="10"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 11 -->
<Label
x:Name="PlotLabel"
Text="Plot:"
Grid.Row="11"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Editor WidthRequest="500"
HeightRequest="100"
Keyboard="Default"
x:Name="PlotEntry"
Grid.Row="11"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>
</Grid>
<StackLayout Orientation="Vertical">
<Image
x:Name="cancelButton"
Source="Assets/cancelB.jpg"
WidthRequest="70"
HeightRequest="70"
Margin="20"
HorizontalOptions="Center"/>
<Image
x:Name="okButton"
Source="Assets/okB.jpg"
WidthRequest="70"
HeightRequest="70"
Margin="20"
HorizontalOptions="Center"/>
</StackLayout>
</StackLayout>
</ContentPage>

我希望发生的是带有那对图像的内部 StackLayout 占用屏幕底部所需的所有空间,而屏幕的其余部分由网格使用,网格可能是可滚动的。

最佳答案

因为你的 Grid 占据了屏幕的所有空间,我建议你添加 ScrollView ,如下代码:

 <?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:App25"
x:Class="App25.MainPage">
<ScrollView Orientation="Both" >
<StackLayout Margin="15,10,15,5" Orientation="Vertical" >

<Grid VerticalOptions="Center" HorizontalOptions="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<!-- Row 0 -->
<Label
x:Name="TitleText"
Text="New film:"
Grid.Row="0"
Grid.Column="0"
FontSize="Large"
FontAttributes="Bold"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Default"
Placeholder="Title"
x:Name="TitleEntry"
Grid.Row="0"
Grid.Column="1"
FontSize="Large"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 2 -->
<Label
x:Name="YearLabel"
Text="Year:"
Grid.Row="1"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Numeric"
Placeholder="Year"
x:Name="YearEntry"
Grid.Row="1"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 2 -->
<Label
x:Name="DurationLabel"
Text="Duration:"
Grid.Row="2"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Numeric"
Placeholder="Duration"
x:Name="DurationEntry"
Grid.Row="2"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 3 -->
<Label
x:Name="CountryLabel"
Text="Country:"
Grid.Row="3"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Country"
x:Name="CountryEntry"
Grid.Row="3"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 4 -->
<Label
x:Name="DirectorLabel"
Text="Director:"
Grid.Row="4"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Director"
x:Name="DirectorEntry"
Grid.Row="4"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 5 -->
<Label
x:Name="ScreenwriterLabel"
Text="Screenwriter:"
Grid.Row="5"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Screenwriter"
x:Name="ScreenwriterEntry"
Grid.Row="5"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 6 -->
<Label
x:Name="MusicLabel"
Text="Music:"
Grid.Row="6"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Music"
x:Name="MusicEntry"
Grid.Row="6"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 7 -->
<Label
x:Name="CinematographyLabel"
Text="Cinematography:"
Grid.Row="7"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Text"
Placeholder="Cinematography"
x:Name="CinematographyEntry"
Grid.Row="7"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 8 -->
<Label
x:Name="CastLabel"
Text="Cast:"
Grid.Row="8"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Editor WidthRequest="500"
HeightRequest="75"
Keyboard="Text"
x:Name="CastEntry"
Grid.Row="8"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 9 -->
<Label
x:Name="ProducerLabel"
Text="Producer:"
Grid.Row="9"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Default"
Placeholder="Producer"
x:Name="ProducerEntry"
Grid.Row="9"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 10 -->
<Label
x:Name="GenreLabel"
Text="Genre:"
Grid.Row="10"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Entry WidthRequest="500"
Keyboard="Default"
Placeholder="Genre"
x:Name="GenreEntry"
Grid.Row="10"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>

<!-- Row 11 -->
<Label
x:Name="PlotLabel"
Text="Plot:"
Grid.Row="11"
Grid.Column="0"
FontSize="Default"
HorizontalOptions="End"
VerticalOptions="Center"
TextColor="Black"/>
<Editor WidthRequest="500"
HeightRequest="100"
Keyboard="Default"
x:Name="PlotEntry"
Grid.Row="11"
Grid.Column="1"
FontSize="Default"
HorizontalOptions="Start"
VerticalOptions="Start"
TextColor="Black"/>
</Grid>
<StackLayout Orientation="Vertical">
<Image
x:Name="cancelButton"
BackgroundColor="Black"
WidthRequest="70"
HeightRequest="70"
Margin="20"
HorizontalOptions="Center"/>
<Image
x:Name="okButton"
BackgroundColor="Blue"
WidthRequest="70"
HeightRequest="70"
Margin="20"
HorizontalOptions="Center"/>
</StackLayout>

</StackLayout>
</ScrollView>
</ContentPage>

关于c# - 网格占据所有空间 Xamarin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43035628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com