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

时间:2013-06-12 18:04:21

标签: wpf visual-studio-2012 user-controls

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

4 个答案:

答案 0 :(得分:10)

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

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

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

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

答案 1 :(得分:1)

  

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

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

您只需要添加.xaml文件,VS就会自动在后面添加代码(嵌套)。我已经几次看到这种方法不起作用了,正如@Walt Ritscher所说,这可能是一个错误。

我发现只是重新启动Visual Studio并重新加载我的解决方案即可。