请注意下面的两个按钮。第一个是在StackLayout中,第二个是在1x1网格单元格中。第一个服从HeightRequest属性,但第二个不服从。
如何控制GridCell内部Button的大小?
XAML
<?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:SimpleApp"
x:Class="SimpleApp.MainPage">
<StackLayout>
<Button Text="Button"
HeightRequest="30"
HorizontalOptions="Center" />
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="200" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Text="Button"
HeightRequest="30"
HorizontalOptions="Center"
Grid.Row="0" Grid.Column="0" />
</Grid>
</StackLayout>
</ContentPage>
答案 0 :(得分:3)
您需要将<RowDefinition Height="200" />
更改为<RowDefinition Height="*" />
才能考虑您的按钮大小。
如果您确实希望该行具有该大小,只需在按钮XAML代码中设置VerticalOptions="StartAndExpand"
即可。
答案 1 :(得分:0)
或者,如果要将其设置为默认按钮高度,则可以将 valueFrom:
configMapKeyRef:
name: example-configmap-overriding-new-02
key: application-prod.properties
设置为<RowDefinition Height="200" />
。因为使用<RowDefinition Height="Auto" />
会占用任何未使用的空间。