Xamarin.forms PRISM Xamarin.形成了对服务的理解。[续]
我想知道下面链接中讨论的选项是否已经可以使用Prism进行了。 使用MasterDetail的项目 在不带Prism的XF中,使用PushAsync打开一个页面,而不替换MainPage,带有NavigationBar和back按钮Xamarin.forms PRISM Xamarin.形成了对服务的理解。[续],xamarin.forms,prism,Xamarin.forms,Prism,我想知道下面链接中讨论的选项是否已经可以使用Prism进行了。 使用MasterDetail的项目 在不带Prism的XF中,使用PushAsync打开一个页面,而不替换MainPage,带有NavigationBar和back按钮 App.css 从MyMasterPageViewModel.cs调用SecondPage 第二页以模式打开,带有导航栏和后退按钮。 我不能用棱镜重现同样的行为 感谢开始您的示例,说明您希望做的不是如何使用MasterDetailPage。为了在这里有所帮
- App.css
- 从MyMasterPageViewModel.cs调用SecondPage
感谢开始您的示例,说明您希望做的不是如何使用MasterDetailPage。为了在这里有所帮助,我将用一个简单的例子来说明。MasterDetailPage永远不应该包装在NavigationPage中,而是MasterDetailPage的细节应该是一个NavigationPage,其中一些页面设置为其内容
var page = new MasterDetailPage
{
Detail = new NavigationPage(new ContentPage())
};
在Prism中,我们假设您有一个名为MainPage的MasterDetailPage,并且您已经注册了NavigationPage、一个名为ViewA的ContentPage和另一个名为ViewB的ContentPage
创建MasterDetailPage的正确方法是:
_navigationService.NavigateAsync("MainPage/NavigationPage/ViewA");
现在,如果要从ViewA中推送ViewB,请执行以下操作:
_navigationService.NavigateAsync("ViewB");
您将看到它被推到NavigationPage的内部,导航返回到ViewA。现在让我们假设你想强迫它成为一个模态,你只需要做:
_navigationService.NavigateAsync("ViewB?useModalNavigation=true");
嗨,丹,谢谢你的回答。。。我尝试了所有我找到的选择,但没有任何效果。。。我正在尝试将此项目转换为PRISM…()。请注意,当您在菜单中选择“我的钱包”选项时,“我的钱包”屏幕将打开,但没有打开菜单的选项,但带有导航栏和backbutton。在PRISM,我没有发现这种可能性。在过去的几年里,世界各地有成千上万的开发者成功地使用了Prism。问题不在于棱镜。我很乐意进一步帮助您,但作为一名顾问,您似乎需要我的指导,而不仅仅是关于StackOverflow的简单答案。好的,这个项目只是一个例子。它在NavigationPage(MainPage=new NavigationPage(new MainView());)中实现一个MasterDetail,因此PushAsync打开的每个页面都将包含backbutton。在PRISM中,这是不可能的,或者在没有PRISM的XF中,它无法工作。谢谢
_navigationService.NavigateAsync("ViewB");
_navigationService.NavigateAsync("ViewB?useModalNavigation=true");