将按钮与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
设置正常工作。