2011-08-19 27 views

回答

14

你需要學習的程序集名稱和命名空間來區分。他們不在1-1對應。

如果您想訪問例如System.Windows.Controls.Button,您需要引用PresentationFramework程序集,該程序集似乎包含MSDN中記錄的大多數類別,位於System.Windows.Controls命名空間中。

多個組件可有助於類/控制到單個名稱空間。並沒有要求程序集中的所有(甚至是大多數)類都駐留在一個名稱空間中。

+0

其實我的問題是比這更大的一點點。 我有一個類庫的項目。在這個項目中,我有多個用戶控件。這些控件使用繼承自「Contol」的類「A」。 我想爲所有這些用戶控件製作一個mergd字典。 在此字典中存在的樣式使用類「A」。 和我有加載此模板的運行時問題,因爲它不能創建類型「A」。我檢查了這個問題,發現我必須將參考System.Windows.Controls添加到他的項目中,但我沒有在瀏覽器中找到它。 – Ziad

+1

@Ziad - 我認爲你的問題的關鍵在於你需要的答案是你需要添加一個對'PresentationFramework'的引用。如果不是這樣,你需要編輯你的問題,並提供更多關於你有什麼問題的信息。 –

+0

我編輯了我的評論,我希望它更好。 – Ziad

0

如果你正在使用VS 2010: 檢查你的項目設置:右擊你的項目,選擇「屬性」,然後選擇「應用程序」選項卡。如果「目標框架」的下拉列表是「.Net Framework 4 客戶端配置文件」,則必須將其更改爲「.net Framework 4」。

編輯:我想要求的程序集是「PresentationFramework.dll」(見msdn class info about Usercontrol)。我的錯,我認爲這將是客戶資料,因爲我通常會犯這個錯誤。

+0

我非常肯定'System.Windows.Controls'在.NET客戶端配置文件中可用。再一次,值得一試。 – BoltClock

+0

我的錯,編輯了我的答案 - 我只是認爲這將是Clientprofile並在本地進行測試。由於這是我犯的一個常見錯誤,我認爲這會是問題。由於我不開發桌面應用程序,因此我不是名稱空間/程序集的專家。但MSDN有疑問。 –

0

System.Windows隨附Silverlight工具包。希望有所幫助。

相關問題