【问题标题】:Open new page outside masterdetailpage在 masterdetailpage 之外打开新页面
【发布时间】:2019-03-02 03:32:18
【问题描述】:

我刚接触 Prism 的 Xamarin.Form。我想以不同的行为加载页面。我已经实现的第一个在下图中。


但我想做一个像下图这样的行为。在主详细信息页面之外加载一个新页面。在 prism 中怎么做?

【问题讨论】:

  • 你能再解释一下吗?根据图像很难说出您的意思。还;请发布相关代码/xml。
  • 我感觉他在问如何不替换主页,而只是推送一个新页面......哦,好吧。
  • 错字我的意思是母版页而不是主页..:P
  • 我不知道您正在使用的框架的实现细节,但作为 Android 的通用答案,您想创建一个新活动。创建(和启动)新活动允许您选择您喜欢的任何布局。

标签: c# xaml xamarin xamarin.forms prism


【解决方案1】:

您已经通过执行以下操作了解了如何显示“汉堡包”图标和标题。

NavigationService.NavigateAsync("MasterPage/NavigationPage/DetailsPage")

如果用户从母版页上列出的操作中进行选择。例如,让我们说设置。

这里有几个选项,可以相对导航

NavigationService.NavigateAsync("设置")

这将导航到设置页面。这也将返回按钮显示为第二个图像。您当前的页面路径将是

MasterPage/NavigationPage/DetailsPage/设置

现在假设您希望设置页面成为顶部的详细信息页面。您必须通过绝对路径导航到它。

MasterPage/NavigationPage/设置

NavigationService.NavigateAsync("MasterPage/NavigationPage/Settings")

【讨论】:

  • 第三个一点都不好。当我单击后退按钮时,它返回到详细信息页面而不是 MasterPage,并且它的动画不像我的第二张图片中那样。我还能做什么?
  • 我明白了。 NavigationService.NavigateAsync("NavigationPage/DetailsPage/SettingPage")
【解决方案2】:

您需要在堆栈中添加一个新页面,该页面覆盖现有页面。为此,您应该像这样进行导航:

navigationService.NavigateAsync("设置")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    相关资源
    最近更新 更多