MV8在Win8和WP8之间共享(一页2页)

时间:2014-01-18 20:28:27

标签: c# mvvm windows-phone windows-store-apps

我们有一个使用MVVM的Windows Phone 8应用程序。有几页以下列方式工作。第1页有一些按钮,当点击其中一个按钮时,页面2就会打开。

现在我们要将应用程序迁移到Windows 8.由于屏幕尺寸较大,我们实际上可以在同一页面上显示按钮和内容(参见附图)。基本上我们将有一个单独的屏幕,我们动态地改变它的一部分(右侧是绿色)

我们想在两个应用程序之间共享视图模型。是否有用于此类事情的模式?

我们调查了一些替代方案,但我们不确定哪一个是正确的:

  1. “某些内容”(WP8中的第二页)应该是Windows应用中的用户控件吗?
  2. 我们是否应该为Win8创建一个全新的视图模型,该模型具有WP8应用程序中多个视图模型的代码?这听起来不错,但因为我们在WP 8应用程序中有大约6个视图模型,现在显示在win应用程序的同一页面上。
  3. Win 8视图模型应该以某种方式“包含”其他视图模型吗?
  4. 动态内容(绿框)应该有自己的MVVM吗?
  5. 想法?建议?

    enter image description here

1 个答案:

答案 0 :(得分:0)

嗯,这在很大程度上取决于你的应用程序给出任何明确的答案。但是由于按下按钮会在W8应用程序中加载不同的内容,MVVM可以解决这个问题,而不会出现太多问题。

因此,在WP8应用程序中按下按钮会发出触发导航的消息。在W8中,您可以更改该消息处理程序以销毁用户控件并创建新控件。在WP8应用程序中,您的第二个屏幕是具有自己的视图模型的独立页面,没有理由不使用相同的视图模型在W8上拥有用户控件。

但是,您必须从scrath编写UI,因为无法共享XAML。