从类库(dll)运行wpf应用程序

时间:2019-05-19 09:54:41

标签: wpf dll

我写了一个类库(.dll) 实现通过反射从外部应用程序调用的接口 .dll具有另一个wpf应用程序的引用(在同一解决方案中,不同的程序集) 外部应用程序从dll中调用应上载wpf应用程序(上载窗口)的方法,但我成功做到了,但是我遇到了一些问题,例如: 1)从Dll Im试图为WindowViewModel添加值的过程中,我收到错误消息,说我需要在Dispatcher线程上工作,我尝试执行此操作,但仍然无法正常工作。 2)它说我需要在STAThread上工作,如果外部应用程序使用dll,该怎么办。

我虽然要使用App.cs实例从dll管理wpf应用程序, 当我尝试在以下方法上创建App.cs实例时:App.Run()我收到有关STAThread的错误。 有解决方案吗?

1 个答案:

答案 0 :(得分:1)

除了在UI线程上加载视图之外,还必须在UI线程上创建视图UI对象,以便应用程序能够加载它。

Application.Current.Dispatcher.Invoke(()=>{
      Grid view = new Grid();
      ExampleLoadViewToApplication(view);
}); 

应该可以解决问题。 有关WPF中的UI线程的信息,请参见this thread

相关问题