您好我想使用System.Windows.Data.IValueConverter,但是当我尝试在VS2010中添加对System.Windows.Data的引用时,我只看到System.Windows.Forms和System.Windows.Presentation。我错过了什么?我使用的是.NET 3.5(不是客户端版本),我认为该版本的库应该存在。将我的项目切换到.NET 4.0没有帮助。谷歌搜索没有发现任何遇到此问题的人。 TIA。
答案 0 :(得分:24)
虽然IValueConverter
位于System.Windows.Data
名称空间中,但它位于PresentationFramework
程序集中。值得了解这两个概念之间的区别。程序集是.NET中的部署单元,但是单个程序集可以在多个名称空间中具有类型,并且多个程序集可以为同一名称空间提供类型。
实际上,程序集是在项目级别添加引用的,而名称空间是源文件顶部的using
指令:)
如果您不确定类型的位置,就其命名空间或其程序集而言,请参阅MSDN(例如上面的链接),它指定了两者,如下所示:
命名空间: System.Windows.Data
汇编: PresentationFramework(在PresentationFramework.dll中)
答案 1 :(得分:4)
System.Windows.Data命名空间来自PresentationFramework.dll。您是否已将其包含在您的应用程序中(添加新参考等)?
答案 2 :(得分:3)
IValueConverter现在(Windows Phone 8.1,VS2013)可用于Windows.UI.Xaml.Data
答案 3 :(得分:0)
通过添加对Universal Api Contract和Windows Foundation Contract的引用来解决。这些引用允许您从控制台应用程序中使用WPF库。