VS2012 - 将WPF现有用户控件添加到项目中

问题描述 投票:3回答:3

这似乎应该很简单,但我似乎无法实现它。假设我有一个名为uc1的用户控件的现有项目。我想在另一个项目中使用此用户控件。我右键单击解决方案资源管理器中的项目名称,然后选择添加>现有项目,将下拉列表更改为所有文件,然后选择文件uc1.xaml和uc1.xaml.vb.这当然会将文件添加到项目中,但xaml和后面的代码之间没有相关性,也无法使用该控件。这样做的正确方法是什么?

wpf visual-studio-2012 user-controls
3个回答
1
投票

这当然会将文件添加到项目中,但xaml和后面的代码之间没有相关性,也无法使用该控件。这样做的正确方法是什么?

通常,您将添加对其他项目的引用,并直接使用UserControl。

这允许您使用UserControl构建单个项目,并在多个项目中使用生成的程序集(DLL),而无需复制代码。


12
投票

里德的答案是一个很好的建筑。如果您计划创建一个将在许多项目中重用的控件,那么最好使用控件库。

您的原始问题在某些情况下是有效的。假设您有一些来自Internet的源代码,您已将其解压缩到驱动器中。此项目包含要添加到项目的.XAML文件及其链接的.vb文件。

如您所见,使用“添加项”对话框添加时,Visual Studio解决方案资源管理器不会链接文件。我认为这是一个错误。我发现如果我重新加载项目,会添加联盟。

这是我使用的解决方法。我将文件从Windows资源管理器/文件资源管理器拖到解决方案浏览器中的项目上。这是第一次正常工作。


1
投票

如果要重用用户控件,则需要创建一个新项目,然后从可用项目列表中选择“类库”。编译时,只需添加对构建此类库时创建的已编译DLL的引用,即可通过任意数量的其他项目和解决方案轻松使用此类库。

编辑:正如其他答案中提到的那样是“WPF UserControl Library”,而不是简单的“类库”......

© www.soinside.com 2019 - 2024. All rights reserved.