我正在创建一个Windows 8应用程序(但我怀疑使用Xaml的任何人都可以帮助我)。它基本上归结为:一个包含产品列表的页面,点击产品会打开一个详细信息页面。
在我的合成根目录中,我解析了第一页的视图模型,并适当地设置了数据上下文,但我不确定当用户选择产品时将视图模型传递给第2页的最佳做法是什么。
据我所知,我有以下选择: -
我有点不知所措,但我怀疑抽象工厂是正确的方法,我希望得到正确的,因为对象图实际上是这样的(产品 - >步骤>指令) ,所以任何重新工作都可能花费相当多的时间,但它基本上意味着我的视图模型,如果我沿着抽象工厂路线将需要三个抽象工厂,以及获取产品初始列表的服务(然后是给出了它有多少参数的代码味道!)。
答案 0 :(得分:0)
如果你想在运行时解析视图模型(从代码中),工厂就是你的选择。
为了更容易,我还会考虑使用一些DI框架。我相信WinRT不会有很多,但autofac应该适用于地铁。
答案 1 :(得分:0)
如果要构建一些大的东西,依赖注入可能是这样做的方法。我个人通常只是在Navigate()调用中传递参数,并使用OnNavigatedTo处理程序中的这些参数初始化视图模型。