我正在关注如何在Silverlight中切换页面的小教程。它可以在这里找到:
http://jesseliberty.com/2008/05/31/multi-page-applications-in-silverlight/
它稍微老了,但一切都运转了。
这里使用的技术是有一个带有“导航功能”的单独页面。如果您使用Page1,则可以使用以下内容:
PageSwitcher ps = this.Parent as PageSwitcher;
ps.Navigate(new Page2());
导航是PageSwitcher中的唯一功能:
public void Navigate(UserControl nextPage) {
this.Content = nextPage;
}
尽管如此,处理这种方式似乎有些奇怪。我仍然想知道添加新用户控件和页面之间的区别。我已经尝试过添加它们,它们看起来非常相似。
似乎这只是使用隐藏页面来设计公共页面之间的切换。对我来说,这似乎不知何故。还有其他方法吗?
答案 0 :(得分:0)
我认为Page和UserControl之间的区别在于Page有一些导航方法,比如NavigationService。
换句话说,请查看Caliburn Micro的Screens and Conductors。它可以让您轻松完成一些高级导航工作,查看示例HelloScreens。它为您的屏幕增加了生命周期。还能够知道视图何时被绑定以及类似的好东西。