您可以向下拖动它,它将关闭视图。
ymdaylpp1#
你正在寻找的关键字是“模态”. Afaik这些模态可以关闭原生ios拖动(至少上次我检查.),但找不到一个原生的方式来做它在maui.但这里有一个解决方案,你可以建立为您的需要:使用Shell像这样导航到您的页面。
Shell.Current.GoToAsync("/modalpage");
模式页面.xaml
<ContentPage x:Class="MauiApp.ModalPage" xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" Title="Modal Page" BackgroundColor="Transparent" Shell.PresentationMode="Modal"> <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.GestureRecognizers> <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" /> </Grid.GestureRecognizers> </Grid> <VerticalStackLayout Grid.Row="1" BackgroundColor="LightGray"> <VerticalStackLayout.GestureRecognizers> <SwipeGestureRecognizer Direction="Down" Swiped="SwipeGestureRecognizer_Swiped" /> </VerticalStackLayout.GestureRecognizers> <Label HorizontalOptions="Center" Text="Welcome to .NET MAUI!" VerticalOptions="Center" /> </VerticalStackLayout> </Grid> </ContentPage>
将内容页面背景设置为Transparent和Shell.PresentationMode="Modal"我创建了一个2行的网格,所以我可以捕捉第一行的点击手势,在本例中,这是一个完全透明的行,我可以看到我的上一页。您也可以执行滑动关闭操作,但这次您是在底部滑动布局,因此VerticalStackLayout将获得SwipeGestureRecognizer
Transparent
Shell.PresentationMode="Modal"
模式页面.cs
private void TapGestureRecognizer_Tapped(object sender, EventArgs e) { Shell.Current.GoToAsync(".."); } private void SwipeGestureRecognizer_Swiped(object sender, SwipedEventArgs e) { Shell.Current.GoToAsync(".."); }
1条答案
按热度按时间ymdaylpp1#
你正在寻找的关键字是“模态”. Afaik这些模态可以关闭原生ios拖动(至少上次我检查.),但找不到一个原生的方式来做它在maui.
但这里有一个解决方案,你可以建立为您的需要:
使用Shell像这样导航到您的页面。
模式页面.xaml
将内容页面背景设置为
Transparent
和Shell.PresentationMode="Modal"
我创建了一个2行的网格,所以我可以捕捉第一行的点击手势,在本例中,这是一个完全透明的行,我可以看到我的上一页。
您也可以执行滑动关闭操作,但这次您是在底部滑动布局,因此VerticalStackLayout将获得SwipeGestureRecognizer
模式页面.cs