2010-08-21 47 views
9

嗨我想使用System.Windows.Data.IValueConverter,但是當我嘗試在VS2010中添加對System.Windows.Data的引用時,我只能看到System.Windows.Forms和System.Windows.Presentation。我錯過了什麼?我使用.NET 3.5(不是客戶端版本),我認爲該庫應該適用於該版本。切換我的項目到.NET 4.0沒有幫助。谷歌搜索沒有發現任何人遇到這個問題。 TIA。System.Windows.Data從我的.NET庫列表中缺少

回答

23

雖然IValueConverter是在System.Windows.Data命名空間,它在PresentationFramework裝配。值得注意兩個概念之間的區別。程序集是.NET中的部署單元,但是單個程序集可以在多個名稱空間中具有類型,並且多個程序集可以將類型貢獻給相同的名稱空間。

在實際應用中,組件是你在項目級別添加引用,並命名空間是你有什麼using指令在你的源文件:

的頂部。當你不知道一個地方類型是,在任一其命名空間或它的組裝方面,請參考MSDN(如上面的鏈接)同時指定,例如:

名字空間: System.Windows.Data
組裝: P resentationFramework(在PresentationFramework.dll中)

+0

+1,因爲這真的很有幫助。 *但是*我有點困惑 - MSDN列出IValueConverter是在Silverlight的System.Windows中,但我實際上需要添加一個對PresentationFramework的引用才能得到它,因爲System.Windows不在可用列表中我的Silverlight項目中的程序集......很奇怪! – Town 2011-03-25 00:52:35

+0

@Town:奇怪......我認爲這只是一個文檔錯誤。 – 2011-03-25 06:21:17

+0

奇怪的是,PresentationFramework.dll已經添加,但仍然無法訪問System.Windows.Data – 2016-11-11 05:52:59

3

System.Windows.Data命名空間來自PresentationFramework.dll。你是否將它包含在你的應用程序中(添加新的參考等等)?

+0

是的,包括我已經包括這個DLL。 – 2016-03-18 15:05:51

3

的IValueConverter現在(的Windows Phone 8.1,VS2013)在Windows.UI.Xaml.Data

提供
0

通過向通用API契約和Windows基金合同的參考解決。這些引用允許您從控制檯應用程序使用WPF庫。