【问题标题】:Busy indicator for WCF async calls in Silverlight 4?Silverlight 4 中 WCF 异步调用的忙指示器?
【发布时间】:2010-07-27 21:33:07
【问题描述】:

我有一个使用 WCF 服务的 SL4 应用程序。客户端对服务进行异步调用,在此期间我想在屏幕上显示一些排序信息或忙碌指示符,告诉用户应用程序正在做某事。

现在我很确定 SL4 有这样的东西,但我正在画一个空白......

有人可以指点我正确的方向吗?

【问题讨论】:

    标签: silverlight wcf silverlight-4.0


    【解决方案1】:

    也许您正在寻找属于 Silverlight Toolkit Experimental quality band 的 BusyIndi​​cator 控件。

    您可以尝试以下链接上的控件: http://www.silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html

    【讨论】:

    • 谢谢!实验质量乐队是什么意思??
    • @VoodooChild:表示该控件在以后的版本中可能会发生变化。来自以下链接:silverlight.codeplex.com/…。 “实验组件用于评估目的。这些组件的主要目标是在开发的最早阶段提供反馈机会。这种反馈将有助于决定这些组件的未来。实验组件的开发可能会在任何时候结束所以它可能不会包含在未来的版本中。”
    • 我想我会使用 BusyIndi​​cator 它看起来很有趣。与 WCF 异步调用一起使用的一个问题是,如果对服务进行了两次调用,那么第一个要完成的调用会将“IsBusy”设置为 false,从而在可能发生第二次调用时将指示器从屏幕上移开。我想我们可以做进一步的逻辑,在最后一次调用时将该标志设置为 false 以完成......
    • @VoodooChild:这总是一个问题。您实际上不知道哪个是最后一个返回的时间。您还必须考虑其中一个可能会失败。我会看看 Agatha 项目,它可以让您“同时”拨打多个电话。链接是:code.google.com/p/agatha-rrsl 和创建者的链接:davybrion.com/blog/2009/11/requestresponse-service-layer-series
    【解决方案2】:

    您需要一个动画故事板,然后使用如下代码:

    wcfProxyClass.DoMethodAsync()
    loadingStoryboard.Begin();
    

    然后在 Completed 事件处理程序中

    loadingStoryboard.End(); // not sure on this syntax
    

    这是一篇很棒的文章,可以帮助您入门。 -- http://chrisa.wordpress.com/2008/10/09/a-wait-indicator-in-silverlight/

    【讨论】:

    • Bross:我可以使用 StoryBoard 中的构建吗?您能否提供任何链接以进一步解释如何使用它?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多