从现有(简单)代码库创建WP7应用程序?

时间:2011-07-12 10:06:34

标签: silverlight windows-phone-7

我想构建一个WP7应用程序。 我已经编写了大部分逻辑,但我不确定如何构建使用该逻辑的wp7 silverlight应用程序。

已编写的逻辑由一些简单的模型组成,并且没有像Silverlight特定的东西,如inotifypropertychanged的observablecollections。

  • 我应该编辑模型以包含INotifyPropertyChanged,并将模型用作viewmodels吗?或者使用模型和视图模型?
  • 模型类和视图模型之间的关系应该如何?

您如何使用模型和逻辑从现有代码库创建应用程序? 我非常想要一种不包括在逻辑中添加Silverlight特定内容的方法吗?但这似乎更容易。

提前致谢

编辑:

现有的代码库只包含一个模型类。我希望在WP7应用程序的列表中查看模型类,当项目更新时,我希望更新UI。

2 个答案:

答案 0 :(得分:1)

您需要在模型中实现ObservableCollection和INotifyPropertyChanged模式。

如果您不想重构现有模型,则可以将现有模型包装在新类中,但这通常会导致相当混乱的代码。我不推荐它。对于一些简单的东西(消耗模型的一小部分),它工作正常,但对于较大的模型,它很快成为意大利面条。

答案 1 :(得分:0)

不了解您的代码库,我会说您应该调整MVVM(模型 - 视图 - 视图模型)架构,它与您描述的情况很好地融合。

您应该为模型编写单独的视图模型,然后这些视图模型实现INotifyPropertyChanged以及所有其他与silverlight相关的内容。

这是一篇关于向WPF实现MVVM的好文章:WPF Apps With The Model-View-ViewModel Design Pattern。我知道它不适用于Silverlight,但我相信同样的原则适用,因为Silverlight只是WPF的一个子集。