我可以在控制台应用程序或 Class 库中模拟或以某种方式创建 WPF UI 线程吗?

Can I simulate or somehow create a WPF UI thread within a Console Application or Class Library?

我必须使用外部 API,无论出于何种原因,只要它被初始化就可以工作,并且 运行 在 WPF 应用程序的 UI 线程上。如果我启动一个 task/thread,即使在 WPF 测试应用程序中也不使用 UI 同步上下文,API 将不起作用。

我需要让它在控制台应用程序、Windows 服务、class 库中工作...但不是 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 参考。