我需要为应用程序开发一个插件 但是WPF应用程序不允许以 WPF Class Libarary 的类型构建它 参考此question我发现,如果没有XAML页面,我们只能在类库类型中构建WPF应用程序。这是真的吗?或者我错过了什么?
我需要在我的插件中添加一个WPF窗口,但是他们指的是删除所有窗口并添加usercontrol?它的解决方法是什么?或者我做错了什么?
我现在所做的就是从解决方案中删除了我的application.xaml窗口,并将目标类型更改为 WPF类Libarary 并构建解决方案并成功构建。这是正确的方式..?或者其他任何方式..?我对这个WPF真的很陌生!
答案 0 :(得分:0)
是的,你可以继续创建一个类库,在那里添加一个XAML视图。在你的exe项目中,你将包含对该lib的引用,它的公共XAML窗口或用户控件应该在库的命名空间下可用,就像任何C#类一样。
修改
来自GitHub的一个简单示例:如您所见,库项目是使用对System.Xaml程序集的引用进行编译的。
修改2
要将现有的Windows应用程序项目构建到类库中,除了更改输出类型之外,还必须删除 App.xaml
答案 1 :(得分:0)
还有两个额外的模板来构建WPF dll,例如 WpfCustomControlLibrary 和 WpfControlLibrary 。然后,您将能够添加Window(以及其他WPF特定元素)。它当然可以包含通用类。它将被构建成一个与一般类库项目没有区别的程序集。
How to: Create a WPF UserControl Library Project
How to add a WPF control library template to Visual C# Express 2008
如果您只想创建类库,请选择类库
此外,您可以将Window添加到通用类库项目。 Visual Studio 只是不公开Window
添加新项目对话框。解决方法是添加User Control Item
,然后将其更改为从Window派生。