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



所以当我把一个页面推到另一个页面上时:

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

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

我非常怀疑如果你推送另一个页面并将其背景色设置为透明,你是否可以看到另一个页面。

你可以使用网格或绝对布局的页面来实现这一点。这些布局允许你"堆叠">

组件然后添加新视图作为子视图,并开始形成不同的图层。它就像一个页面中的对话框。

首先,对于Shell堆栈,当从Shell可视化层次结构导航到路由时,不会创建导航堆栈。但是,当导航到一个不在Shell可视层次结构中的页面时,将创建一个导航堆栈。

是否有可能在新页面中看到将其推到那里的页面?例如,如果背景是透明的,有没有办法在背景中显示它?

你可以尝试使用CarouselView来模拟。有关CarouselView的更多信息,请参阅下面的链接。https://learn.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/carouselview/interaction

您可以使用Modal页面来完成此操作。在您要导航到的页面中,设置属性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/

相关内容

  • 没有找到相关文章

最新更新