【发布时间】:2019-09-17 14:39:12
【问题描述】:
我有一个 Xamarin 页面,它有一个两行一列的网格。在第一行/列中我有一个标签,第二行/列我有一个框架,它不占用行的全部高度。请问您能帮忙吗?
<controls:GradientColorStack
StartColor="#0cacee"
EndColor="#0574d8"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
GradientOreintation="Vertical">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="330" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0"
Grid.Row="0"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
Text="" />
<controls:CustomFrame
Grid.Row="1"
CornerRadius="30,30,0,0"
BackgroundColor="White"
HasShadow="True"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
Margin="12,20,12,0" />
</Grid>
</controls:GradientColorStack>
【问题讨论】:
-
您可以将
HeightRequest="330"设置为CustomFrame视图 -
330 是第一行的高度。框架在第二行,我希望它填满其余部分。
-
CustomFrame 是视图容器。除非它没有视图或多个视图,否则它不会扩展。因此,一种解决方案是使高度静态化。
-
@RezaShirazi 将框架的背景颜色设置为显眼的颜色,例如红色,同时将框架的 Padding 设置为 0,因为框架的默认填充是 20。
-
我将整个东西包裹在一个网格中并且工作正常。谢谢