【问题标题】:Multi-page silverlight app多页 Silverlight 应用程序
【发布时间】:2011-06-04 22:01:24
【问题描述】:

我正在关注如何在 Silverlight 中切换页面的小教程。可以在这里找到:

http://jesseliberty.com/2008/05/31/multi-page-applications-in-silverlight/
它有点旧,但一切正常。

这里使用的技术是有一个带有“导航器功能”的单独页面。如果您在第 1 页,则使用如下内容:

PageSwitcher ps = this.Parent as PageSwitcher;
ps.Navigate(new Page2());

Navigate 是 PageSwitcher 中的唯一功能:

public void Navigate(UserControl nextPage) {
    this.Content = nextPage;
}

不过,这种处理方式似乎有点奇怪。我仍然想知道添加新的用户控件和页面之间有什么区别。我已经尝试将它们都添加了,它们看起来非常相似。

这似乎只是使用隐藏页面来设计公共页面之间的切换。这对我来说似乎有点过头了。还有其他方法吗?

【问题讨论】:

    标签: silverlight


    【解决方案1】:

    我认为Page 和UserControl 的区别在于Page 有一些Navigation 方法,比如NavigationService。

    对于另一种方式,请查看 Caliburn Micro 的 Screens and Conductors。它可以让您轻松完成一些高级导航,查看示例 HelloScreens。它为您的屏幕增加了生命周期。还能够知道视图何时被绑定以及类似的好东西。

    【讨论】:

    • @Derek_Beattie:我看过它,尝试了一些例子,我发现 Caliburn 非常复杂。教程根本没有帮助。我经常想知道什么时候引入了一些东西,或者我是否需要在代码中添加一些东西,或者它是否只是为了引用源代码。感觉这个项目假设您是一位拥有多年经验的专家。
    • 你仍然可以使用 Navigation 的东西,并使用 MVVM Light messenger 之类的东西来告诉 NavigationFrame 导航到另一个页面。我想CM有点曲线,我认为他们所做的很棒。没有什么比将内容控件命名为 x:Name="ActiveItem" 并让 CM 完成其余工作更容易的了。
    • @Derek_Beattie:在搜索过程中,我注意到一些使用的组件现在不再在 Silverlight 主安装中,而是作为单独工具包的一部分。明天看看是否有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多