私はDispatcherHelperftom MVVM light toolkitをSLでどのように使用することができるかを調べようとしていますが、私は例を見つけることができません。私はDispatcherHelperの簡単な例
DispatcherHelperクラス、軽量クラスは マルチスレッド・アプリケーションを作成するためにあなたを助けていることを知っているこのフレームワークのホームページから
。
しかし、私はそれを使用する方法がわかりません。
どのように使用できますか?
私はDispatcherHelperftom MVVM light toolkitをSLでどのように使用することができるかを調べようとしていますが、私は例を見つけることができません。私はDispatcherHelperの簡単な例
DispatcherHelperクラス、軽量クラスは マルチスレッド・アプリケーションを作成するためにあなたを助けていることを知っているこのフレームワークのホームページから
。
しかし、私はそれを使用する方法がわかりません。
どのように使用できますか?
UIスレッドのコンポーネントを別のスレッドで実行するコードから変更する場合は、DispatcherHelper
が必要です。例えば。 Silverlightアプリケーションでは、一部のデータを非同期に取得するためにWebサービスを呼び出し、今度はOnNotifyPropertyChanged
イベントを介してデータが存在することをUiに通知します。
まず、DispatcherHelper
を初期化する必要があります。 Silverlightのでは、Application_Startup
で次の操作を行います。
//initialize Dispatch helper
private void Application_Startup(object sender, StartupEventArgs e) {
RootVisual = new MainPage();
DispatcherHelper.Initialize();
}
初期化は、あなたのAppクラスの静的コンストラクタで行われます。
static App() {
DispatcherHelper.Initialize();
}
次に、あなたの場合には、お使いのasncコールの完了を処理し、 UIスレッドでRaisePropertyChanged
を呼び出すために、次のコードを使用:
DispatcherHelper.CheckBeginInvokeOnUI(
() => RaisePropertyChanged(PowerStatePropertyName)
);
DispatcherHelper.BeginInvokeOnUl
そうY Action
期待ここでは任意のコードを使用できます。より複雑な作業を行うには、
DispatcherHelper.CheckBeginInvokeOnUI(
() => { /* complex code goes in here */ }
);
を使用してください。