[英]How to access Dispatcher object in C# DLL?
目前,我在WPF中使用以下代碼。 但是現在我需要在不使用WPF的DLL中實現相同的功能(沒有UI)
Dispatcher.CurrentDispatcher.BeginInvoke(new Kepware.ClientAce.OpcDaClient.DaServerMgt.DataChangedEventHandler(DataChanged), DCevHndlrArray);
誰能建議我該怎么做? 您的建議將不勝感激。
只要您參考WPF框架的3個主要組件,那就沒問題
比您能夠使用Dispatcher類。
只是一個建議... Dispatcher.Invoke(..)
和Application.Current.Dispatcher.Invoke(..)
是將動作分派回Surface的兩種常用方法。 但是,只要不使用Application.Dispatcher
,就無法確保您的操作將在與UI元素正在運行的同一調度程序中執行。 由於您可以在一個AppDomain
運行多個調度程序,或者如果您的DLL未加載到UI AppDomain
,則可能會遇到錯誤。
如果dll在wpf應用程序中使用,並且您包含PresentationFramework程序集,則您應該能夠使用System.Windows.Application.Current.Dispatcher
亞歷克斯
必填參考:
PresentationFramework.dll(對於Application對象)及其依賴項:
System.Xaml.dll WindowsBase.dll
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.