我可以在控制台应用程序或类库中模拟或以某种方式创建WPF UI线程吗
本文关键字:创建 方式 WPF 线程 UI 控制台 应用程序 类库 模拟 我可以 | 更新日期: 2023-09-27 18:26:17
我必须使用一个外部API,无论出于什么原因,只要它在WPF应用程序的UI线程上初始化并运行,它就可以工作。如果我旋转一个任务/线程,即使在WPF测试应用程序中也不使用UI同步上下文,那么API也不起作用。
我需要让它在控制台应用程序、Windows服务、类库中工作。。。但不是WPF应用程序。
这在控制台应用程序中对我有效
我不确定您的案例是否需要Dispatcher
,或者代码只是需要STA公寓状态。
class Program
{
static void Main(string[] args)
{
var thread = new Thread(() =>
{
Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
{
Console.WriteLine("Hello world from Dispatcher");
}));
Dispatcher.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
}
您只需要为Dispatcher
添加WindowsBase.dll
引用即可。