【问题标题】:How to show a WPF window from a public static method in a Class Library project (dll)如何从类库项目 (dll) 中的公共静态方法显示 WPF 窗口
【发布时间】:2011-04-15 02:21:14
【问题描述】:

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

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

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

我已经通过创建 WPF 应用程序项目解决了这个问题,并向该项目添加了一个公共类项。在公共静态方法中,我创建了 WPF 窗口类的实例并使用方法 ShowDialog。这可行,但我想创建一个没有主方法的 dll。

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

【问题讨论】:

    标签: wpf dll


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-09-14
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      相关资源
      最近更新 更多