2012-01-23 46 views
1

有人能帮我理解真正的区别是什么,为什么MVVM轻工具包用户UserControl的视图而不是页面?我知道UserControl和页面之间存在一些继承性差异,例如访问页面上的“NavigationService”。MVVM光视图 - 页vs用户控件

John Papa的MVVM Light实现中的一些例子使用Page来代替UserControl,但是如果使用MVVM Light“View”模板,它将使用UserControl。

感谢

DBL

回答

3

Silverlight应用程序内的Page被设计成一个Frame内托管 - 和是导航框架的一部分(参见MSDN Navigation Overview文档)。这种风格的应用程序按页面进行导航,URL更新反映当前位置,与基于HTML的网站非常相似。

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

如果MVVM Light使用Pages而不是UserControls,那么该框架仅对基于导航的Silverlight应用程序非常有用,该应用程序并不十分流行。但是,UserControls可以驻留在任何其他Panel或Page内,因此这种方法更加灵活。 A UserControl可用作Page的内容,但也可用于其他许多情况。