有人可以帮助我理解真正的区别是什么以及为什么MVVM Light工具包用户UserControl用于Views而不是Pages?我知道UserControl和页面之间存在一些区别,例如访问页面上的“NavigationService”。
John Papa实现MVVM Light的一些例子使用Page而不是UserControl,但如果你使用MVVM Light“View”模板,它会使用UserControl。
感谢
DBL
答案 0 :(得分:3)
Silverlight应用程序中的Page
旨在托管在Frame
中 - 并且是导航框架的一部分(请参阅MSDN Navigation Overview文档)。此样式的应用程序在页面之间导航,URL更新以反映当前位置,与基于HTML的网站非常相似。
UserControl
是用户界面的可重用单元。它通常由许多控件,UI元素组成 - 并且可能有一些代码隐藏来执行逻辑。
如果MVVM Light使用Pages而不是UserControls,那么该框架仅对基于导航的Silverlight应用程序有用,后者并不是非常受欢迎。但是,UserControls可以托管在任何其他Panel或Page中,因此这种方法更灵活。 UserControl
可以用作Page
的内容,但也可以在许多其他环境中使用。