将按钮与Xamarin的底部对齐。形成不带ListView间隔的网格

将按钮与Xamarin的底部对齐。形成不带ListView间隔的网格,listview,xamarin.forms,layout,Listview,Xamarin.forms,Layout,我正在处理一个简单的详细信息屏幕,该屏幕提供一些列表项详细信息和删除该项的选项。它有一个StackLayout来显示项目详细信息,还有两个按钮s来向后导航或删除 通过使用空的列表视图作为垂直间隔,我成功地将两个按钮沿着其父网格的底部对齐(注意列表视图的网格的行定义。高度。行设置为*): 虽然这样做有效,但感觉像是滥用了ListView。理想情况下,我希望完全删除,并让第一行中的堆栈布局尽可能地展开,以便将最后一行中的按钮网格一直推到屏幕底部。如果堆栈布局无法展开,我想我也可以将按钮网格向上展

我正在处理一个简单的详细信息屏幕,该屏幕提供一些列表项详细信息和删除该项的选项。它有一个
StackLayout
来显示项目详细信息,还有两个
按钮
s来向后导航或删除

通过使用空的
列表视图作为垂直间隔,我成功地将两个
按钮沿着其父
网格的底部对齐(注意
列表视图
网格的
行定义。高度
。行
设置为
*
):


虽然这样做有效,但感觉像是滥用了
ListView
。理想情况下,我希望完全删除
,并让第一行中的
堆栈布局尽可能地展开,以便将最后一行中的
按钮
网格一直推到屏幕底部。如果
堆栈布局
无法展开,我想我也可以将
按钮
网格
向上展开


如此短小和甜蜜,我如何摆脱虚假的
ListView
间隔,仍然在屏幕底部保留我的
按钮?

你可以像下面那样更改代码。我没有使用listview进行测试

更改:

<Grid Grid.Row="2">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Button
        Text="{Binding BackButton}"
        Command="{Binding BackCommand}" />
    <Button
        Grid.Column="1"
        Text="{Binding DeleteButton}"
        Command="{Binding DeleteCommand}"/>
</Grid>
 <StackLayout
        Grid.Row="1"
        Orientation="Horizontal"
        VerticalOptions="End">
        <Button HorizontalOptions="StartAndExpand"  Text="{Binding BackButton}" Command="{Binding BackCommand}" />
        <Button HorizontalOptions="EndAndExpand" Text="{Binding DeleteButton}" Command="{Binding DeleteCommand}"/>
    </StackLayout>

至:

<Grid Grid.Row="2">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Button
        Text="{Binding BackButton}"
        Command="{Binding BackCommand}" />
    <Button
        Grid.Column="1"
        Text="{Binding DeleteButton}"
        Command="{Binding DeleteCommand}"/>
</Grid>
 <StackLayout
        Grid.Row="1"
        Orientation="Horizontal"
        VerticalOptions="End">
        <Button HorizontalOptions="StartAndExpand"  Text="{Binding BackButton}" Command="{Binding BackCommand}" />
        <Button HorizontalOptions="EndAndExpand" Text="{Binding DeleteButton}" Command="{Binding DeleteCommand}"/>
    </StackLayout>


我无法复制,使用XF v4.2.0删除ListView后,按钮仍在底部。就整个页面而言,上面的
网格
内容视图
的内容,本身是另一个
内容视图
的内容,它是填充
堆栈布局
的唯一占用者,最后是
内容页面
的内容。希望这些都不重要,很可能只是我拥有的XF版本有问题(但目前仍在使用:-/)。只需在第一行
Height=“*”
?我尝试过,但它对我不起作用。这对你的情况有效吗?谢谢你的反馈。这也行不通。我开始怀疑这是否只是我当前版本XF(4.2.0)中的一个bug。代码仍然有效。检查屏幕截图。最后回到这个问题上来。我发现,如果直接在
ContentPage
中使用,您的解决方案会起作用——在我的
ContentPage
中,我将
ContentView
替换为该
ContentView
的内容,即上面的
网格,通过在
ContentView
上设置
VerticalOptions=“FillAndExpand”
,我可以使原始的
ContentPage
/
ContentView
设置正常工作。