2010-04-18 15 views
46

Herhangi bir UI öğesine başvuruda bulunmadığınızda kullanıcı arayüzü Dispatcher'u almanın bir yolu var mı?UI iş parçacığı dağıtıcısını nasıl alabilirim?

+0

Bazı ayrıntılar ... GUI nesnelerine veya UI Thread'e başvurunuz yok mu? Memurluğunuz olduğunda ne yapmayı düşünüyorsunuz? – Gishu

+0

@Gishu ve yedi yıl sonra da benim gibi olanlar için, sahip olduğunuz her şey örn. UI iş parçacığında dinlenen bir 'ObservableCollection '(ve böylece kullanıcı arabiriminden değiştirmeyi denerseniz, reentranite başarısız olur), ancak herhangi bir dağıtıcı göstermez ... Bu durumda, UI' Dispatcher' ama herhangi bir UI öğeleri yok –

cevap

86

Statik uygulama örneğinden UI Dispatcher yakalayabilir: Application.Current.Dispatcher

Bunu bir kapatma işlemini sırasında temizlenebilir olarak, birinci sıfır için Application.Current kontrol etmek isteyebilir.

+12

Ne yazık ki bu WinForms uygulamasında WPF öğeleri barındıran talihsiz ruhlar için WinForms de null olduğunu. –

+3

@AndrewGarrison, el ile yeni System.Windows.Application() 'diyerek statik' Application' nesnesini yaratabilirsiniz. – Taedrin

İlgili konular