Xamarin Forms - 控制网格中按钮的高度

时间:2017-02-14 15:26:31

标签: xamarin xamarin.forms

请注意下面的两个按钮。第一个是在StackLayout中,第二个是在1x1网格单元格中。第一个服从HeightRequest属性,但第二个不服从。

如何控制GridCell内部Button的大小?

enter image description here

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>

2 个答案:

答案 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" />会占用任何未使用的空间。