我在 github 上向 MAUI 团队提交了这个问题作为错误,但正在寻找解决方法的任何想法?
我在下面的网格中有一个简单的布局。
<Grid RowDefinitions="Auto,*,Auto">
<SearchBar />
<ListView Grid.Row="1">
<ListView.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>ListView Item</x:String>
<!-- Whole lot 'O items -->
<x:String>ListView Item</x:String>
</x:Array>
</ListView.ItemsSource>
</ListView>
<HorizontalStackLayout Grid.Row="2">
<Button Text="Display Content Page" Clicked="ContentPageButton_Clicked" />
<Button Text="Display Tabbed Page" Clicked="TabbedPageButton_Clicked" />
</HorizontalStackLayout>
</Grid>
当它位于 TabbedPage 的子页面中时,底部的按钮不可见,因为网格溢出了窗口的高度。这种情况发生在初始显示时以及调整大小低于一定高度时。实际布局:
预期布局:
我有一个重现,让您可以在没有 TabbedPage 作为父级的情况下查看完全相同的页面,并且布局按预期执行。
有什么想法可以解决这个问题吗?感谢您的任何建议!!!
App.xaml.cs
改变:
// MainPage = new TabbedPage();
MainPage = new NavigationPage(new TabbedPage());
NavigationPage 允许您使用 Navigation.PushAsync
进行导航,因此您应该使用它而不是
Application.Current.MainPage = new TabbedPage();
。您也可以使用
AppShell。
现在为什么它可以解决您的具体问题,没有任何线索。我最好的猜测是,MainPage 并不打算(并经过测试)获得除了NavigationPage
或
Shell
之外的其他内容,这会在布局上产生一些恶作剧(两者都实现 IPageContainer,可能会在这个级别执行某些操作)。