如何转换WPF项目,以便它可以通过单独的exe用作类库

时间:2011-04-27 14:02:56

标签: wpf

有没有人试过或觉得有必要在一个独立的exe中启动他们的应用程序并使用WPF作为另一个DLL,而不是在其中使用Main方法?

我看到的优点是逻辑分离,能够在WPF代码之外设置工厂等,从而减少了程序集依赖性。

我已经尝试过这样做,并且可以到目前为止,例如通过将WPF项目设置设置为“类库”,从app.xaml中删除startupuri并将其构建操作设置为编译等,并从单独的exe调用app.run或在主窗口中使用方法调用此方法。 / p>

但是,当我这样做时,app.xaml中的资源(例如为按钮定义的样式)似乎没有任何效果。将WPF项目转换回其默认设置(startupuri等)可以使资源再次运行,但我不确定问题出在哪里。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以创建控件库(自定义控件库或用户控件库)以将可重用控件与应用程序分开。但正如它所称的那样,它们是 Control 库。您可以将“资源”设置为“用户控件”,“页面”,但不在“应用程序”上,因为它们在控制库中不可知。

您的控件的通用XAML不应存储在app.xaml的资源中,而应存储在Themes / Generic.xaml文件中。

User Control Library vs Custom Control library