首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >silverlight中的invokeRequired?

silverlight中的invokeRequired?
EN

Stack Overflow用户
提问于 2012-11-03 17:44:08
回答 1查看 602关注 0票数 2

在SilverLight中有没有等同于Winforms中的Control.InvokeRequired的东西?

我已经发现Winforms Invoke等同于Control.Dispatcher.BeginInvoke,但是我找不到像InvokeRequired这样的东西

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-06 19:51:16

以下扩展方法非常有用

代码语言:javascript
复制
public static bool InvokeRequired(this FrameworkElement element)
{
    return !element.Dispatcher.CheckAccess();
}
public static void Invoke(this FrameworkElement element, Action action)
{
    if (element.InvokeRequired())
    {
        using (AutoResetEvent are = new AutoResetEvent(false))
        {
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                action.Invoke();
                are.Set();
            });
            are.WaitOne();
        }
    }
    else
        action.Invoke();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13207933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档