Yalnızca farklı bir iş parçacığı üzerinde çalışan koddaki kullanıcı arabiriminizdeki bileşenlerde değişiklik yapmak istediğinizde DispatcherHelper
'a gereksiniminiz vardır. Örneğin. Bir Silverlight uygulamasında, bazı verileri eşzamansız olarak almak için bir web servisi çağırırsınız ve şimdi Ui'yi OnNotifyPropertyChanged
olayı aracılığıyla mevcut olduğunu bildirmek istersiniz.
İlk önce DispatcherHelper
'u başlatmanız gerekir. Silverlight size Application_Startup
bunu: başlatma App sınıfının statik yapıcı yapılır WPF
//initialize Dispatch helper
private void Application_Startup(object sender, StartupEventArgs e) {
RootVisual = new MainPage();
DispatcherHelper.Initialize();
}
: En asnc aramanın tamamlandığını taşıma, Etkinliğinizde Sonra
static App() {
DispatcherHelper.Initialize();
}
, UI parçacığında RaisePropertyChanged
çağırmak için aşağıdaki kodu kullanımı:
DispatcherHelper.CheckBeginInvokeOnUI(
() => RaisePropertyChanged(PowerStatePropertyName)
);
DispatcherHelper.BeginInvokeOnUl
çok y bir Action
bekler Burada herhangi bir kodu kullanabilirsiniz daha karmaşık görevleri yapmak için sadece
DispatcherHelper.CheckBeginInvokeOnUI(
() => { /* complex code goes in here */ }
);
kullanabilirsiniz.