2013-06-12 137 views
2

這看起來應該很簡單,但我似乎無法實現。比方說,我有一個名爲uc1的用戶控件的現有項目。我想在另一個項目中使用此用戶控件。我在解決方案資源管理器中右鍵單擊項目名稱,然後選擇添加>現有項目,將下拉列表更改爲所有文件,然後選擇文件uc1.xaml和uc1.xaml.vb.這當然會將文件添加到項目中,但xaml和文件後面的代碼之間沒有關聯,並且沒有辦法使用該控件。這樣做的正確方法是什麼?VS2012 - 將WPF現有的用戶控件添加到項目中

回答

1

這當然將文件添加到項目中,但存在的XAML和代碼隱藏文件之間沒有關聯,也沒有辦法使用的控制。這樣做的正確方法是什麼?

通常,您需要添加對其他項目的引用,並直接使用UserControl。

這允許您使用UserControl構建單個項目,並在多個項目中使用生成的程序集(DLL)而不復制代碼

+0

感謝您的回覆。好吧,如果我正確理解這一點,我應該創建一個WPF自定義控件庫類型的新項目來容納我所有的用戶控件,然後從其他項目中引用已編譯的dll。這樣我可以訪問xaml,並且能夠在創建控件時可視化控件? – user10001110101

+0

@dkirkdrei你可能想要「WPF UserControl Library」,而不是「Custom Control Library」,但是,是的。 –

+0

是的,儘管最好使用WPF UserControl Libarary而不是Custom Control Library。 –

1

如果您想重新使用您的用戶控件,您需要創建一個新項目並從可用項目列表中選擇「類庫」。編譯時,只需通過添加對構建此類庫時所創建的編譯DLL的引用,就可以輕鬆地使用任何數量的其他項目和解決方案。

編輯:正如在其他答覆中提到它的「WPF用戶控件庫」,而不是簡單的「類庫」 ......

9

裏德的回答是一個很好的建築之一。如果您打算創建一個控件,您可以在許多項目中重複使用,那麼最好使用控件庫。

儘管您的原始問題在某些情況下仍然有效。假設你有一些你已經解壓縮到你的驅動器的源代碼。該項目包含一個.XAML文件及其想要添加到項目中的鏈接的.vb文件。

如您所見,Visual Studio解決方案資源管理器在添加「添加項目」對話框時不會鏈接這些文件。我認爲這是一個錯誤。我發現如果我重新加載該項目,則會添加該聯繫。

這是我使用的解決方法。將文件從Windows資源管理器/文件資源管理器拖到解決方案資源管理器中的項目上這是第一次正確運作。 enter image description here

+0

感謝您的建議,但我已經嘗試過,但它不適合我?當我將文件從Windows資源管理器拖入解決方案資源管理器時,我立即得到一個禁止標誌,並且這些文件不會以任何方式複製。如果這有什麼區別,我正在使用VS2012 Pro。 – user10001110101

+0

我有VS2012旗艦版,但我懷疑這是否有所作爲。 –

+0

你在項目節點上放?我猜你在調試應用程序時不會調試。解決方案資源管理器已支持拖放多年。 –

相關問題