是MVVM死在Windows 8商店应用程序?(Is MVVM dead in Windows 8

2019-07-31 14:52发布

我已经开始学习有关Windows 8商店应用程序。

我从Silverlight和WPF编程早些时候,人们适应了MVVM概念回忆,现在我不知道我是否应该使用什么我了解到当时与否。

我加入GalaSoft.MvvmLight参考,并创建了一个视图模型,并把它添加到我的XAML通过的建议:

DataContext="{Binding Source={StaticResource Locator}, Path=Welcome}"

它看起来像微软包含某种在LayoutAwarePage模型视图实现的:

protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
{
    // TODO: Assign a bindable collection of items to this.DefaultViewModel["Items"]
    //  DefaultViewModel["WelcomeTiles"] = WelcomeTiles;
}

可如果以下的datacontext已设置访问。

<DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}" />

所以,现在我不能确定,如果我还记得他们,用MVVMLight或只添加代码隐藏文件到DefaultViewModel数据我应该创建ModelViews。

什么是人民与既有经验? 我刚开始和我的下一个目标是添加处理程序时,一个项目被点击在GridView的 - 它上面的路径就会让一个简单的方法做到这一点?

Answer 1:

不,MVVM永远不会死!

模型 - 视图 - 视图模型是一种设计模式,所以它不依赖于特定的框架或实现。 然而,这是最方便与支持数据绑定的UI框架使用的UI设计模式。

Windows 8的地铁应用包括XAML和约束力的框架这一点很像Silverlight和WPF。 出于这个原因,MVVM是管理你的代码很好的选择。

你在发现的代码LayoutAwarePage中描述的这个博客帖子 。 这是企图使Windows 8 Metro应用开发变得更容易通过提供各种存根实现。 此页面包含一个DefaultViewModel ,这是一个观察的字典。

就个人而言,我不会用它!



Answer 2:

都能跟得上MVVM是不是死了,还是蛮活着!

MVVM的可啉确定指标恢复还挺好。 事实上MVVM基本上是一个设计模式,并且不依赖于特定的框架。

使用MVVM不是教条......,但谁与XAML应用程序做了很多最[WPF,Silverlight中,WP 7和WinRT中...]会同意,忠实地MVVM有助于关注的清晰分离SOC的发展之间GUI和后端逻辑。

我个人用从洛朗的NuGet比尼翁的MVVMLight包结合WinRT中,虽然你可以自由用得放心使用任何其他MVVM包或选择你的感觉。

如果您需要进一步的样品裁判,我会邀请你吉尔Cleeren有“在Windows 8商店MVVM”看看在网络研讨会以下记录

http://www.silverlightshow.net/video/MVVM-in-Win8-Webinar.aspx



Answer 3:

MVVM不是在Windows 8地铁的应用程序死了。

我们并没有在我们的应用程序使用MvvmLight,但你需要的基本组件,如绑定到视图模型的属性,使用个ICommand在视图模型和INotifyPropertyChanged的全部带有非常微小的变化(如果有的话)。

微软发表了很好的样本最近。 这并不是说MVVM明确,但它有你所需要的上手。 而约什-史密斯的文章当然还是有用的。



Answer 4:

我建议http://stylemvvm.codeplex.com ,它从地上写了支持地铁项目(C#,C ++ / CX,HTML / JS)。 它包括一个完整的IOC,实施的ICommand及附加命令行为,服务瓷砖,徽章,烤面包和魅力。 它还包括一个漂亮的中保类是调度员知道。 另外,以帮助您开始了一些视觉工作室模板。

注:因为我写它,我可能会偏向:)



文章来源: Is MVVM dead in Windows 8 Store Apps?