我的.NET库列表中缺少System.Windows.Data

时间:2010-08-21 20:38:41

标签: .net

您好我想使用System.Windows.Data.IValueConverter,但是当我尝试在VS2010中添加对System.Windows.Data的引用时,我只看到System.Windows.Forms和System.Windows.Presentation。我错过了什么?我使用的是.NET 3.5(不是客户端版本),我认为该版本的库应该存在。将我的项目切换到.NET 4.0没有帮助。谷歌搜索没有发现任何遇到此问题的人。 TIA。

4 个答案:

答案 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库。