這看起來應該很簡單,但我似乎無法實現。比方說,我有一個名爲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旗艦版,但我懷疑這是否有所作爲。 –
你在項目節點上放?我猜你在調試應用程序時不會調試。解決方案資源管理器已支持拖放多年。 –
- 1. 添加現有用戶控件WPF項目
- 2. 如何將選項卡項目添加到現有的選項卡控件wpf
- 3. 添加c#用戶控件到現有的asp.net vb.net項目
- 4. 將選項卡添加到WPF C#中的現有選項卡控件#
- 5. 將現有項目添加到TFS2010中
- 6. 將項目添加到VS 2008 WPF應用程序中的選項卡控件
- 7. 將邏輯添加到WPF中的用戶控件中
- 8. 將資源字典添加到wpf中的用戶控件庫
- 9. 將iPhone項目添加到現有的Github項目中
- 10. 將Cocos2d添加到現有項目
- 11. 將項目添加到現有窗口
- 12. 將AspectJ添加到現有項目
- 13. 將庫添加到現有項目netbeans
- 14. 將iPad Storyboard添加到現有項目
- 15. 將Grails添加到現有項目
- 16. 將用戶控件添加到項目時出錯
- 17. 將項目添加到Web用戶控件
- 18. 將項目添加到樹形控件
- 19. 將現有的實現文件添加到Xcode項目中將不起作用
- 20. 將新控制器添加到現有的Grails項目
- 21. 將swift文件添加到現有的目標c項目
- 22. 將MSBuild版本添加到VS2012中的ASP.NET Web項目
- 23. VS2012將區域添加到現有項目?重來?與MVC5或堅持與MVC4
- 24. 如何將MFC ActiveX控件添加到現有的activex項目中
- 25. 將現有的用戶控件添加爲TabControl中的TabPages
- 26. 有條件地將項目添加到Excel的ListBox控件
- 27. 將Silverlight 3.0控件添加到現有的ASP.NET項目時遇到問題
- 28. 將版本控制添加到現有項目
- 29. 將數據添加到現有控件
- 30. 將標題添加到現有控件
感謝您的回覆。好吧,如果我正確理解這一點,我應該創建一個WPF自定義控件庫類型的新項目來容納我所有的用戶控件,然後從其他項目中引用已編譯的dll。這樣我可以訪問xaml,並且能夠在創建控件時可視化控件? – user10001110101
@dkirkdrei你可能想要「WPF UserControl Library」,而不是「Custom Control Library」,但是,是的。 –
是的,儘管最好使用WPF UserControl Libarary而不是Custom Control Library。 –