我想在将来的应用程序中使用WPF窗口而不是Windows窗体。
当前设置为带有公共静态方法的类库项目。我已将一个Windows窗体项添加到项目中。在公共静态方法中,我创建了一个Windows Form类的实例,并使用方法ShowDialog。
我使用此设置的原因是我需要在其他程序中使用自己的.net对话框。该程序只能调用公共静态方法i .net。
我通过创建WPF应用程序项目并向此项目添加了一个公共类项来解决了这个问题。在公共静态方法中,我创建了一个WPF窗口类的实例,并使用ShowDialog方法。这有效,但我想创建一个没有main方法的DLL。
如何从类库项目(dll)中的公共静态方法显示WPF窗口?
答案 0 :(得分:7)
类库项目没有WPF窗口模板,因此您需要创建UserControl,然后将主标记从<UserControl ...>
更改为<Window ...>
。或者,您可以在WPF应用程序项目中创建Window,然后将MyWindow.xaml*
文件复制到库项目中。 (在这种情况下,您可能需要在属性窗口中修复Window的Build Action
属性。当将XAML文件复制到非WPF类库时,Visual Studio似乎搞砸了。)
之后,您可以像在应用程序中一样显示它:在静态方法中,您创建一个Window实例并调用ShowDialog
。