如何从类库项目(dll)中的公共静态方法显示WPF窗口

时间:2010-09-21 09:04:39

标签: wpf dll

我想在将来的应用程序中使用WPF窗口而不是Windows窗体。

当前设置为带有公共静态方法的类库项目。我已将一个Windows窗体项添加到项目中。在公共静态方法中,我创建了一个Windows Form类的实例,并使用方法ShowDialog。

我使用此设置的原因是我需要在其他程序中使用自己的.net对话框。该程序只能调用公共静态方法i .net。

我通过创建WPF应用程序项目并向此项目添加了一个公共类项来解决了这个问题。在公共静态方法中,我创建了一个WPF窗口类的实例,并使用ShowDialog方法。这有效,但我想创建一个没有main方法的DLL。

如何从类库项目(dll)中的公共静态方法显示WPF窗口?

1 个答案:

答案 0 :(得分:7)

类库项目没有WPF窗口模板,因此您需要创建UserControl,然后将主标记从<UserControl ...>更改为<Window ...>。或者,您可以在WPF应用程序项目中创建Window,然后将MyWindow.xaml*文件复制到库项目中。 (在这种情况下,您可能需要在属性窗口中修复Window的Build Action属性。当将XAML文件复制到非WPF类库时,Visual Studio似乎搞砸了。)

之后,您可以像在应用程序中一样显示它:在静态方法中,您创建一个Window实例并调用ShowDialog