我想构建一个WP7应用程序。 我已经编写了大部分逻辑,但我不确定如何构建使用该逻辑的wp7 silverlight应用程序。
已编写的逻辑由一些简单的模型组成,并且没有像Silverlight特定的东西,如inotifypropertychanged的observablecollections。
您如何使用模型和逻辑从现有代码库创建应用程序? 我非常想要一种不包括在逻辑中添加Silverlight特定内容的方法吗?但这似乎更容易。
提前致谢
编辑:
现有的代码库只包含一个模型类。我希望在WP7应用程序的列表中查看模型类,当项目更新时,我希望更新UI。
答案 0 :(得分:1)
您需要在模型中实现ObservableCollection和INotifyPropertyChanged模式。
如果您不想重构现有模型,则可以将现有模型包装在新类中,但这通常会导致相当混乱的代码。我不推荐它。对于一些简单的东西(消耗模型的一小部分),它工作正常,但对于较大的模型,它很快成为意大利面条。
答案 1 :(得分:0)
不了解您的代码库,我会说您应该调整MVVM(模型 - 视图 - 视图模型)架构,它与您描述的情况很好地融合。
您应该为模型编写单独的视图模型,然后这些视图模型实现INotifyPropertyChanged以及所有其他与silverlight相关的内容。
这是一篇关于向WPF实现MVVM的好文章:WPF Apps With The Model-View-ViewModel Design Pattern。我知道它不适用于Silverlight,但我相信同样的原则适用,因为Silverlight只是WPF的一个子集。