MAUI Grid 在初始加载时以及在 Windows 上调整大小时会溢出父 TabbedPage 的子 ContentPage

问题描述 投票:0回答:1

我在 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 作为父级的情况下查看完全相同的页面,并且布局按预期执行。

有什么想法可以解决这个问题吗?感谢您的任何建议!!!

layout grid maui tabbedpage
1个回答
0
投票
里面

App.xaml.cs

改变:

// MainPage = new TabbedPage(); MainPage = new NavigationPage(new TabbedPage());

NavigationPage 允许您使用 Navigation.PushAsync

 进行导航,因此您应该使用它而不是 
Application.Current.MainPage = new TabbedPage();

您也可以使用

AppShell

现在为什么它可以解决您的具体问题,没有任何线索。我最好的猜测是,MainPage 并不打算(并经过测试)获得除了

NavigationPage

Shell
 之外的其他内容,这会在布局上产生一些恶作剧(两者都实现 IPageContainer,可能会在这个级别执行某些操作)。

© www.soinside.com 2019 - 2024. All rights reserved.