DispatcherHelper 的简单示例
我试图弄清楚如何在 SL 中使用 DispatcherHelperftom MVVM 轻型工具包,但我找不到任何示例。
从这个框架的主页我知道
DispatcherHelper类,一个轻量级的类帮助你创建 多线程应用程序。
但我不知道如何使用它。
我可以如何使用它以及用它来做什么?
I'm trying to figure out how can I use DispatcherHelperftom MVVM light toolkit in SL, but I can't find any example.
From home page of this framework I know that
DispatcherHelper class, a lightweight class helping you to create
multithreaded applications.
But I don't know how to use it.
How and for what I can use it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
仅当您想要通过在不同线程上运行的代码对 UI 线程上的组件进行更改时,才需要 DispatcherHelper。例如,在 Silverlight 应用程序中,您调用 Web 服务来异步检索一些数据,现在想要通过
OnNotifyPropertyChanged
事件通知 Ui 数据存在。首先,您必须初始化DispatcherHelper。在 Silverlight 中,您可以在
Application_Startup
中执行此操作:在 WPF 中,初始化是在 App 类的静态构造函数中完成的:
然后在您的事件中,处理 asnc 调用的完成,使用以下代码来调用 < UI 线程上的 code>RaisePropertyChanged:
DispatcherHelper.BeginInvokeOnUl
需要一个Action
,因此您可以在此处使用任何代码,只需用来执行更多操作复杂的任务。
You only need the
DispatcherHelper
when yo want to make changes to components on your UI thread, from code that runs on a different thread. E.g. in an Silverlight application you call a web service to retrieve some data asynchroneously, and now want to inform the Ui that the data is present via aOnNotifyPropertyChanged
event.First you have to initialize the
DispatcherHelper
. In Silverlight you do this inApplication_Startup
:In WPF the initialization is done in the static constructor of you App class:
Then in your event, handling the completion of your asnc call, use the following code to call
RaisePropertyChanged
on the UI thread:DispatcherHelper.BeginInvokeOnUl
expects anAction
so you can use any code in here just useto do more complex tasks.