2011-10-19 30 views
8

tengo using System.Windows.Input; en la parte superior de mi programa, pero me da un error que dice que:System.Windows.Input no existe?

El tipo o espacio de nombres 'de entrada' no existe en el espacio de nombres 'System.Windows' (¿falta una referencia de ensamblado?)

Y cuando dejo IntelliSense emergente en el período justo después de Windows que sólo muestra Forms como una opción válida. Estoy usando .NET framework 4.0 en Visual C# 2010 Express ...

¿Cómo puedo solucionar este problema?

Respuesta

14

Sospecho que ha creado un proyecto de Windows Forms, en lugar de un proyecto de WPF.

Los tipos que contribuyen a System.Windows.Input se encuentran en PresentationCore.dll y potencialmente en otros ensamblados relacionados con WPF.

No sé lo suficiente sobre los tipos de System.Windows.Input decir a ciencia cierta si está o no puede utilizarlos en una aplicación Windows Forms, pero me gustaría al menos alentar a decidir si seguir con Windows Formas o WPF, y luego utilice los tipos diseñados para esa plataforma de interfaz de usuario.

+0

Estoy usando Windows Forms .... ¿Necesito cambiar a WPF o puedo quedarme de alguna manera con Windows Forms? – Alper

+0

@Jacob: Bueno, ¿qué intentas usar dentro de System.Windows.Input? Puede o no ser apropiado para una aplicación WinForms, dependiendo de lo que intentes hacer. Me gustaría * generalmente * sugerir ir a WPF como una mejor plataforma de interfaz de usuario, pero depende de sus requisitos exactos. –

+0

Puede agregar ambas referencias, pero me quedaría con un tipo de proyecto, ya sea WPF o Windows Forms y me quedo con esas bibliotecas. –

0

La DLL que contiene esa biblioteca y espacio de nombres no se referencia actualmente en su proyecto.

Agregue una referencia a esa DLL en su proyecto y luego se puede hacer referencia a ella.

La DLL mencionada es parte del marco WPF. He incluido una captura de pantalla de una aplicación WPF de muestra. Cuando creó una aplicación WPF, obtiene la referencia del marco de presentación automáticamente. Además, tenga en cuenta que también puede agregar referencias anteriores a Windows Forms si así lo desea. Si no crea una aplicación WPF, esta referencia deberá agregarse manualmente.

Pero, le sugiero que cree una aplicación WPF o una aplicación Winforms, no una combinación de ambas.

enter image description here

7

Para referencia, el espacio de nombres System.Windows.Input se puede acceder por referencia al conjunto de WindowsBase.

Probado usando una biblioteca de clases .Net 4.5 (para fines de asignar System.Windows.Input.Key a eventos de prisma).

1

He añadido Control de usuario (WPF) para el proyecto. Esto incluye referencias necesarias. Puede eliminarlo inmediatamente una vez que compila el programa. Espero que esto funcione para usted.

-1

No hay necesidad de pasar por todo esto, solo agregue el PresentationCore dll en su aplicación. Puede hacer esto simplemente agregando una referencia a esta DLL.