MVVM Light Views - Page vs UserControl

时间:2012-01-23 22:00:46

标签: silverlight mvvm mvvm-light

有人可以帮助我理解真正的区别是什么以及为什么MVVM Light工具包用户UserControl用于Views而不是Pages?我知道UserControl和页面之间存在一些区别,例如访问页面上的“NavigationService”。

John Papa实现MVVM Light的一些例子使用Page而不是UserControl,但如果你使用MVVM Light“View”模板,它会使用UserControl。

感谢

DBL

1 个答案:

答案 0 :(得分:3)

Silverlight应用程序中的Page旨在托管在Frame中 - 并且是导航框架的一部分(请参阅MSDN Navigation Overview文档)。此样式的应用程序在页面之间导航,URL更新以反映当前位置,与基于HTML的网站非常相似。

UserControl是用户界面的可重用单元。它通常由许多控件,UI元素组成 - 并且可能有一些代码隐藏来执行逻辑。

如果MVVM Light使用Pages而不是UserControls,那么该框架仅对基于导航的Silverlight应用程序有用,后者并不是非常受欢迎。但是,UserControls可以托管在任何其他Panel或Page中,因此这种方法更灵活。 UserControl可以用作Page的内容,但也可以在许多其他环境中使用。