VS2012 - 将WPF现有的用户控件添加到项目中
这看起来应该很简单,但我似乎无法实现。比方说,我有一个名为uc1的用户控件的现有项目。我想在另一个项目中使用此用户控件。我在解决方案资源管理器中右键单击项目名称,然后选择添加>现有项目,将下拉列表更改为所有文件,然后选择文件uc1.xaml和uc1.xaml.vb.这当然会将文件添加到项目中,但xaml和文件后面的代码之间没有关联,并且没有办法使用该控件。这样做的正确方法是什么?VS2012 - 将WPF现有的用户控件添加到项目中
这当然将文件添加到项目中,但存在的XAML和代码隐藏文件之间没有关联,也没有办法使用的控制。这样做的正确方法是什么?
通常,您需要添加对其他项目的引用,并直接使用UserControl。
这允许您使用UserControl构建单个项目,并在多个项目中使用生成的程序集(DLL)而不复制代码。
如果您想重新使用您的用户控件,您需要创建一个新项目并从可用项目列表中选择“类库”。编译时,只需通过添加对构建此类库时所创建的编译DLL的引用,就可以轻松地使用任何数量的其他项目和解决方案。
编辑:正如在其他答复中提到它的“WPF用户控件库”,而不是简单的“类库” ......
里德的回答是一个很好的建筑之一。如果您打算创建一个控件,您可以在许多项目中重复使用,那么最好使用控件库。
尽管您的原始问题在某些情况下仍然有效。假设你有一些你已经解压缩到你的驱动器的源代码。该项目包含一个.XAML文件及其想要添加到项目中的链接的.vb文件。
如您所见,Visual Studio解决方案资源管理器在添加“添加项目”对话框时不会链接这些文件。我认为这是一个错误。我发现如果我重新加载该项目,则会添加该联系。
这是我使用的解决方法。将文件从Windows资源管理器/文件资源管理器拖到解决方案资源管理器中的项目上这是第一次正确运作。
感谢您的建议,但我已经尝试过,但它不适合我?当我将文件从Windows资源管理器拖入解决方案资源管理器时,我立即得到一个禁止标志,并且这些文件不会以任何方式复制。如果这有什么区别,我正在使用VS2012 Pro。 – user10001110101
我有VS2012旗舰版,但我怀疑这是否有所作为。 –
你在项目节点上放?我猜你在调试应用程序时不会调试。解决方案资源管理器已支持拖放多年。 –
感谢您的回复。好吧,如果我正确理解这一点,我应该创建一个WPF自定义控件库类型的新项目来容纳我所有的用户控件,然后从其他项目中引用已编译的dll。这样我可以访问xaml,并且能够在创建控件时可视化控件? – user10001110101
@dkirkdrei你可能想要“WPF UserControl Library”,而不是“Custom Control Library”,但是,是的。 –
是的,尽管最好使用WPF UserControl Libarary而不是Custom Control Library。 –