2010-08-21 7 views
9

Hola me gustaría utilizar System.Windows.Data.IValueConverter, pero cuando intento agregar una referencia a System.Windows.Data en VS2010, me solo vea System.Windows.Forms y System.Windows.Presentation. ¿Qué me estoy perdiendo? Estoy usando .NET 3.5 (no la versión del cliente), y creo que la biblioteca debería existir para esa versión. Cambiar mi proyecto a .NET 4.0 no ayudó. Google no encontró a ninguna persona que experimenta este problema. TIA.System.Windows.Data no aparece en mi lista de bibliotecas .NET

Respuesta

23

Aunque es IValueConverter en el espacio de nombres System.Windows.Data, es en el montajePresentationFramework. Vale la pena ser consciente de la diferencia entre los dos conceptos. Un ensamblaje es la unidad de implementación en .NET, pero un ensamblaje único puede tener tipos en múltiples espacios de nombres, y múltiples ensamblajes pueden contribuir con tipos al mismo espacio de nombres.

En términos prácticos, los conjuntos son lo que se agrega a las referencias a nivel de proyectos y espacios de nombres son lo que tiene using directivas para en la parte superior de su archivo fuente :)

Cuando no está seguro de que una tipo es, en términos de cualquiera de su espacio de nombres o su montaje, consultar MSDN (tales como el enlace de arriba), que especifica tanto, como este:

Espacio de nombres: System.Windows.Data
Asamblea: PAG resentationFramework (en PresentationFramework.dll)

+0

+1 ya que esto fue realmente útil. * Sin embargo * Estoy un poco confundido: MSDN enumera IValueConverter como si estuviera en System.Windows for Silverlight, pero en realidad necesitaba agregar una referencia a PresentationFramework para poder acceder a él, ya que System.Windows no estaba en la lista de disponibles. asambleas en mi proyecto de Silverlight ... ¡raro! – Town

+0

@Town: Impar ... Creo que solo debe ser un error de documentación. –

+0

Extraño, PresentationFramework.dll ya se ha agregado pero todavía no puedo acceder a System.Windows.Data –

3

El espacio de nombre System.Windows.Data viene de PresentationFramework.dll. ¿Lo ha incluido en su aplicación (agregar nueva referencia, etc.)?

+0

Sí, incluido he incluido este dll. –

3

IValueConverter es ahora (Windows Phone 8.1, VS2013) disponible en Windows.UI.Xaml.Data

0

solucionado mediante la adición de una referencia al contrato Api Universal y Fundación Contrato de Windows. Estas referencias le permiten usar bibliotecas WPF desde aplicaciones de consola.

Cuestiones relacionadas