çalışırken UI Güncellenmesi Aşağıdaki kod var:görevi
progressBar1.Minimum = 0;
progressBar1.Maximum = Results.Count;
foreach (MyClass cls in Results)
{
progressBar1.Value += 1;
// Go to DB and get large quantity of data
cls.GetHistoryData();
}
Ne yapmak istiyorum ProgressBar1 doğru günceller ve böylece başka bir iş parçacığı için işleme kayması olduğunu. İlerleme çubuğunda Invoke yöntemini kullanabilmem gerektiğini ima eden bir article buldum, ancak bir tane görünmüyor.
Bu ideal çözüm gibi görünüyor. Maalesef işe yaramıyor. İlerleme'nin bir sınıf düzeyi değişken olarak ayarlanması gerekeceği varsayımını yapıyorum (aksi halde tanımıyor), yapmam gereken başka bir şey var mı? –
Bu, kurulumunuza bağlı. UserControl/Window'unuza bir özellik ekleyebilir ve bu yazıya benzer şekilde bağlayabilirsiniz: http://goo.gl/ZMcnp Veya daha da iyisi, MVVM ile giderseniz (çok daha kolay şeyler yapar!) ProgressDialogViewModel sınıfınız için bir CurrentProgress özelliğine sahip bir DataTemplate ve bir Message and Tiltle özelliği gibi şeylerin olması gerekir. DataTemplate'de bu özelliklere karşı bağlanırsınız. – bitbonk
+1 - En iyi çözüm. Ancak "İlerleme" için bir bağımlılık özelliği uygulamak yerine INotifyPropertyChanged kullanırdım. –