2011-07-12 25 views
0

我想构建一个WP7应用程序。 我已经有大部分的逻辑编写,但我不知道我将如何去和建立一个使用该逻辑的WP7 Silverlight应用程序。从现有(简单)代码库创建WP7应用程序?

已经写好的逻辑由几个简单的模型组成,没有silverlight特定的东西,比如inotifypropertychanged的observablecollections。

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

你会如何从模型和逻辑的现有代码库创建一个应用程序? 我会非常喜欢一种不包括向逻辑添加silverlight特定内容的方式吗?但似乎这样更容易。

在此先感谢

编辑:

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

回答

0

不知道更多关于你的代码库的信息,我想说你应该适应MVVM(Model-View-ViewModel)架构,它很好地融合你描述的情况。

你应该为你的模型编写单独的视图模型,然后这些视图模型实现INotifyPropertyChanged和所有其他与silverlight相关的东西。

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

+0

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

+0

我做到这一点的方法是简单地有一个viewmodel,它包含对模型的引用,然后用NotifyPropertyChange =重新实现所有的属性)很好用! – Moulde

1

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

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

相关问题