使按钮成为网格单元 XamForms 大小的 50%

Make button 50% size of grid cell XamForms

我正在尝试使网格单元正好是宽度的 50%,效果很好。但是,我希望按钮在单元格内占 50%,而不是扩展到单元格的大小。

Xaml 下面,我如何将按钮修改为它所在单元格宽度的 50%。

            <Grid Padding="10,10,10,10">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
            </Grid.ColumnDefinitions>

            <Button Grid.Row="0" Grid.Column="0" Text="Back" Command="" BackgroundColor="Red" TextColor="White" ></Button>
            <Button Grid.Row="0" Grid.Column="1" Text="Done" Command="" BackgroundColor="Green" TextColor="White"></Button>
        </Grid>

how to I modify the Button to be 50% width of the cell it is in.

可以把Button放到StackLayout中,这样Button的宽度就是GridCell宽度的一半。

解决方案代码:

<Grid Padding="10,10,10,10">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="50*"></ColumnDefinition>
        <ColumnDefinition Width="50*"></ColumnDefinition>
    </Grid.ColumnDefinitions>

    <StackLayout  Grid.Row="0" Grid.Column="0" HorizontalOptions="Center">
        <Button Text="Back" Command="{Binding .}" BackgroundColor="Red" TextColor="White"  ></Button>
    </StackLayout>
    <StackLayout Grid.Row="0" Grid.Column="1" HorizontalOptions="Center">
        <Button  Text="Done" Command="{Binding .}" BackgroundColor="Green" TextColor="White"></Button>
    </StackLayout>
</Grid>