Silverlight 业务应用程序初始化检查

Posted

技术标签:

【中文标题】Silverlight 业务应用程序初始化检查【英文标题】:Silverlight business application initialize check 【发布时间】:2011-02-04 17:27:08 【问题描述】:

我正在使用 Business Silverlight 应用程序。我已经将一些 MVVM 纳入其中,并开始使用它。我们正在使用一些 Telerik 控件,主要是功能区控件和停靠。我们在 about.xaml.cs 文件中注册所有 Telerik 功能区控件,方法是 DisplayUI - 我们在这里注册停靠控件,然后我们在此之后注册功能区。发生的情况是,当您单击“关于”链接时,它会显示我们的第一个带有按钮的选项卡(完美)。当您单击“关于”链接旁边的“主页”链接时,我们将返回主页。但是当您再次单击“关于”链接时,它会再次注册控件,因此我们最终会得到两个相同的选项卡。

有没有办法检查这个 about.xaml.cs 文件是否已经初始化?我猜这是内存中第一次调用的句柄,因为我能够看到第一个标签呈现..

谢谢

这里是关于代码

    public About()
    
        InitializeComponent();

        DisplayUI();

        this.Title = ApplicationStrings.AboutPageTitle;
    

显示 UI 完成了注册停靠面板和功能区的所有工作。如果它已经渲染过一次,我们不希望调用 DisplayUI()。

【问题讨论】:

【参考方案1】:

如果您通过事件处理程序执行此操作,您可以在方法结束时取消订阅事件吗?没有看到一些代码,很难弄清楚要更改什么。

这不是最好的方法,但是如果此代码需要运行一次且只运行一次,那么您可以将类上的静态布尔变量设置为 false,然后在调用 DisplayUI 时检查它的值。如果为 false,则将其设置为 true 并运行该方法,如果为 true,则返回。

【讨论】:

@Matthew..感谢您阅读并发送一些反馈。我已经更新了我的问题。如果您需要更多详细信息,请告诉我..谢谢! 我想我们也需要 DisplayUI() 方法。 更新了我的答案。这不是最优雅的方式,但我觉得我需要看到几乎整个项目/框架才能给出更好的答案! 谢谢!是的,这不是最优雅的方式..我大约 4 小时前尝试过这个,但没有使 bool 成为静态的。只是将它作为私有 bool _isLoaded;我仍然需要运行 DisplayUI,但我在 RegisterRibbonButtons 周围进行了检查...谢谢!

以上是关于Silverlight 业务应用程序初始化检查的主要内容,如果未能解决你的问题,请参考以下文章

Silverlight 业务应用程序 - 文件大小

Silverlight 业务应用程序 - ASP.Net MVC

如何将现有的业务层实施到 SilverLight 4.0 应用程序?

我无法从Silverlight业务应用程序中的代码中获取查询结果

C# 在运行时检查 silverlight 对象大小

你能在 Silverlight 的 SaveFileDialog 中设置初始目录吗