ElementHost中的Application.Current为null

我在我个人的Libs中使用WPF UserControl。 这些Libs包含在我的WPF和WindowsForms程序中。 现在我的UserControl必须显示一个新的(WPF)窗口。 在新窗口中,我想设置所有者。 我这样做:

dialog.Owner = Application.Current.MainWindow; 

这工作正常,如果我在WPF程序中使用UserControl。

当我在我的WindowsForms程序中使用UserControl(我在elementHost.Child = ...设置UserControl)是Application.Current null。

这不好,我的程序引发exception。

为什么Application.Current空?

Application.Current对于WPF应用 程序是特定的。
因此,当您在WinForms应用程序中使用WPF控件时,您需要初始化WPF应用程序的实例。 在WinForms应用程序中执行此操作。

 if ( null == System.Windows.Application.Current ) { new System.Windows.Application(); }