是否可以在Xamarin Shell Stack中看到下面的页面?

xv8emn3q  于 2022-12-07  发布在  Shell
关注(0)|答案(3)|浏览(107)

因此,当我将一个页面推到另一个页面上时:

Shell.Current.Navigation.PushAsync(new XampelPage());

在新页面中是否可以看到推动它的页面?2例如,如果背景是透明的,是否有办法在背景中显示它?

mutmk8jj

mutmk8jj1#

我非常怀疑,如果你推另一个页面,并将其背景颜色设置为透明,你可以看到其他页面。
您可以使用网格或绝对布局的页面来实现这一点。
然后你把新的视图作为一个子视图添加进去,开始形成不同的层。这就像一个页面里面的对话框。

pw9qyyiw

pw9qyyiw2#

首先,对于Shell堆栈,当导航到Shell可视层次结构中的路径时,不会创建导航堆栈。但是,当导航到不在Shell可视层次结构中的页面时,会创建导航堆栈。
在新页面中是否可以看到推动它的页面?2例如,如果背景是透明的,是否有办法在背景中显示它?
您可以尝试使用CarouselView进行模拟。有关CarouselView的详细信息,请参阅以下链接。https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/carouselview/interaction

gdx19jrr

gdx19jrr3#

您可以使用“胁迫回应”页面来完成这项工作。在您要浏览的页面中,设定Shell.PressentationMode="ModalAnimated"属性。以下是在样式中设定该属性的范例:

<Style TargetType="base:BaseModalPage" ApplyToDerivedTypes="True"> <!-- Just a custom Page Type I created -->
    <Setter Property="BackgroundColor" Value="{StaticResource BackgroundTranslucentColor}" />
    <Setter Property="Padding" Value="{StaticResource ModalPaddingThickness}" />
    <Setter Property="Shell.PresentationMode" Value="ModalAnimated" />
</Style>

当您使用Shell.Current.GoToAsync(...)导航时,它将以模态方式压入堆栈,如果页面是半透明的,它将在堆栈后面显示上一页。
下面是一篇关于使用shell进行模态导航的博客文章:https://devblogs.microsoft.com/xamarin/xamarin-forms-shell-quick-tip-modal-navigation/

相关问题