我们有一个使用MVVM的Windows Phone 8应用程序。有几页以下列方式工作。第1页有一些按钮,当点击其中一个按钮时,页面2就会打开。
现在我们要将应用程序迁移到Windows 8.由于屏幕尺寸较大,我们实际上可以在同一页面上显示按钮和内容(参见附图)。基本上我们将有一个单独的屏幕,我们动态地改变它的一部分(右侧是绿色)
我们想在两个应用程序之间共享视图模型。是否有用于此类事情的模式?
我们调查了一些替代方案,但我们不确定哪一个是正确的:
想法?建议?
答案 0 :(得分:0)
嗯,这在很大程度上取决于你的应用程序给出任何明确的答案。但是由于按下按钮会在W8应用程序中加载不同的内容,MVVM可以解决这个问题,而不会出现太多问题。
因此,在WP8应用程序中按下按钮会发出触发导航的消息。在W8中,您可以更改该消息处理程序以销毁用户控件并创建新控件。在WP8应用程序中,您的第二个屏幕是具有自己的视图模型的独立页面,没有理由不使用相同的视图模型在W8上拥有用户控件。
但是,您必须从scrath编写UI,因为无法共享XAML。