C# WPF 库创建

4

我有一个WPF项目。我想使用一个.DLL文件将这个项目用于其他新项目中,就像在C#中使用MessageBox.Show创建一个窗体一样。

库项目文件不能指定ApplicationDefinition元素。

当我将项目的输出更改为“类库”时,“InitializeComponent();”方法会出现错误,我的窗口构造函数中的许多其他方法也会出现错误,提示“当前上下文中不存在'InitializeComponent'名称”。我该如何解决这个问题?我创建了库之后该如何使用它?

3个回答

1
无法简单地将其移植到类库中。您可以对app.xaml等进行修改,但最好创建一个新的“WPF用户控件库”或“WPF自定义控件库”。将现有代码迁移到其中。确保公开希望从库外调用的公共类和方法。
您可以创建一个解决方案来包含您的新库以及测试WPF应用程序。这样,您可以在应用程序中添加指向您的库项目的引用。那样测试会更容易。
至于如何使用库——您需要进行一些研究。根据您的需求,有许多方法可供选择。

一个用户控件不是我想要的...我说过我想要一个MessageBox窗口。 - Ahmad Sattout
你标记了WPF,因此这就是你想要的。否则,你会将通用类库(用于业务对象等)与WPF应用程序合并。我正在开发的金融交易平台具有这样的结构,包括自定义的ViewModels、Views和Controls。如果你只想要一个通用的Class Library,那么你可以这样做,但你仍然需要迁移代码。你不能只改变类型。你应该研究如何创建这样的库,如果你无法解决问题,可以发布一个具体的问题。 :-) - Chris Fannin

1

好的,问题在于你的项目是一个应用程序,而不是一个库。仅仅在设置中将其更改为库是没有帮助的。

最好的做法是创建一个新的“用户控件库”类型的项目,然后将所有的XAML和类复制到新项目中。


0

从我的项目中删除App.xaml起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接