【问题标题】:Navigating to different user controls in silverlight without creating a new instance of the user controls在 silverlight 中导航到不同的用户控件而不创建用户控件的新实例
【发布时间】:2013-01-26 04:37:48
【问题描述】:

目前,我能够在 silverlight 中的多个用户控件之间导航。但是,每次我导航到一个新的用户控件时,该用户控件中的所有代码都会再次运行。通常这不是问题,但在我的场景中,其中一个用户控件需要大约 50 秒才能加载,因为它是通过 WCF 服务运行的怪物查询。

那么如何在不创建这些用户控件的新实例的情况下导航到不同的用户控件?

【问题讨论】:

    标签: c# silverlight xaml singleton


    【解决方案1】:

    你可能想研究一些creational software design patterns

    我会推荐Object PoolSingleton,但您选择的模式将取决于您的要求,您可能会发现另一种更适合您。

    我强烈建议您购买Design Patterns: Elements of Reusable Object-Oriented Software。这是一部出色的、开创性的作品,任何认真的 C# 程序员都不应缺少它。

    【讨论】:

    • 我同意这本书。我已经在考虑使用单例模式(因此是单例标记),但我不知道如何使 Silverlight 中的用户控件成为单例。但我认为我可能会尝试创建一个遵循单例模式的常规 c# 类,并且该类将包含我需要的所有用户控件。我不知道它是否会起作用,但我现在要试试。
    • @rage - 也许您应该考虑将数据传递给控件,​​而不是让控件获取数据?如果您需要在主代码中实现控制功能,可以使用inversion of control
    • 这也是个好主意,我会在正式上班时尝试一下。我能够通过创建一个具有我想要在其之间导航的用户控件的单例类来实现我想要的功能。不过我确实需要那本书。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多