C# VSTO加载项中的WPF控件-ElementHost与本机WPF窗口?
我有一个VSTO Microsoft Word加载项。当用户单击功能区按钮时,我希望显示一个WPF窗口。我一直认为实现这一点的唯一方法是在Winforms窗体中添加ElementHost控件,并在其顶部添加WPF控件。但是我通过发现,我也可以通过将WPF UserControl转换为WPF窗口并使用control.Show()来显示它来做同样的事情。这似乎消除了使用ElementHost的需要。在我走这条路之前,有什么理由我不应该这样做吗?这样做有任何技术上的差异或速度上的差异吗?您能确认您希望显示一个与Word分开的C# VSTO加载项中的WPF控件-ElementHost与本机WPF窗口?,c#,wpf,winforms,xaml,vsto,C#,Wpf,Winforms,Xaml,Vsto,我有一个VSTO Microsoft Word加载项。当用户单击功能区按钮时,我希望显示一个WPF窗口。我一直认为实现这一点的唯一方法是在Winforms窗体中添加ElementHost控件,并在其顶部添加WPF控件。但是我通过发现,我也可以通过将WPF UserControl转换为WPF窗口并使用control.Show()来显示它来做同样的事情。这似乎消除了使用ElementHost的需要。在我走这条路之前,有什么理由我不应该这样做吗?这样做有任何技术上的差异或速度上的差异吗?您能确认您希望
WPF
窗口,而不是一个用WPF
构建的任务窗格吗?@Stephen,绝对不是任务窗格。从自定义VSTO功能区上的按钮调用的单独窗口。您是否在此处看到@Atmane,我没有看到该线程…这很有趣,但似乎更多的是启动整个应用程序,而不仅仅是现有加载项中的窗口/表单。谢谢。这是我在当前应用程序中所做的事情,我在技术问题或速度方面没有任何问题。您需要记住的唯一一件事是在它自己的线程上调用它,然后在窗口关闭时清理Dispatcher
。除此之外,它的行为基本上就像一个正常的WPF窗口。