当我打电话
<body page-section="news">
<div class="royalslider">
This is a slider and it is fullscreen
</div>
<div id="body-layouts">
This is the body layout
</div>
</body>
取决于屏幕分辨率,它需要以不同的方式显示视图:
在大屏幕上,它显示当前navigationService.NavigateAsync('MyPage')
内的面板(需要在当前Page
内创建ContentView
),在小屏幕上,它必须导航到{ {1}}
如何用Prism实现这一目标?
编辑:我遇到的问题实际上是如何显示视图。
在小屏幕上,它导航到ContentPage
,在大屏幕上,它需要在当前页面中显示Page
。
我怎样才能做到这一点?我应该创建自己的导航服务并覆盖Page
吗?根据视图名称和设备惯用法,我要么使用默认行为导航到它,要么在当前视图中显示视图:
View
答案 0 :(得分:1)
没有棱镜,你会怎么做?尽管您可以利用不同的Prism功能来简化管理,但您的方法并未发生变化。您可以为要支持的每个设备大小创建一个模块(项目)。然后只根据设备加载所需的模块。这将允许您使用相同的键注册所有视图,并始终导航到相同的键,但根据加载的模块,您将获得不同的页面。这样可以保持ViewModel的清洁。
或者你可以简单地使用good'ol
if (some screensize)
_navigationService.NavigateAsync("SmallPage");
else
_navigationService.NavigateAsync("BiggerPage");
我个人会使用模块方法。