2011-10-19 40 views
8

Tôi có using System.Windows.Input; ở đầu chương trình của tôi, nhưng nó mang lại cho tôi một lỗi nói rằng:System.Windows.Input không tồn tại?

Loại hoặc tên namespace 'Input' không tồn tại trong không gian tên 'System.Windows' (là bạn thiếu một tham chiếu lắp ráp?)

Và khi tôi để IntelliSense bật lên trong khoảng thời gian ngay sau Windows nó chỉ liệt kê Forms làm tùy chọn hợp lệ. Tôi đang sử dụng .NET framework 4.0 trong Visual C# 2010 Express ...

Làm cách nào để khắc phục sự cố này?

Trả lời

14

Tôi nghi ngờ bạn đã tạo dự án Windows Forms, thay vì dự án WPF.

Các loại đóng góp cho System.Windows.Input có trong PresentationCore.dll và các hội đồng liên quan khác có liên quan đến WPF.

Tôi không biết đủ về các loại trong System.Windows.Input để nói chắc chắn hay không, bạn có thể sử dụng chúng trong một ứng dụng Windows Forms, nhưng tôi sẽ ít nhất khuyến khích bạn để quyết định xem có nên đi với Windows Biểu mẫu hoặc WPF, sau đó sử dụng các loại được thiết kế cho nền tảng giao diện người dùng đó.

+0

Tôi đang sử dụng Biểu mẫu Windows .... tôi có cần chuyển sang WPF hoặc bằng cách nào đó tôi có thể ở lại với Windows Forms không? – Alper

+0

@Jacob: Bạn đang cố gắng sử dụng gì trong System.Windows.Input? Nó có thể hoặc có thể không thích hợp cho một ứng dụng WinForms, tùy thuộc vào những gì bạn đang cố gắng làm. Tôi sẽ * thường * đề nghị đi WPF như một nền tảng UI đẹp hơn, nhưng nó phụ thuộc vào yêu cầu chính xác của bạn. –

+0

Bạn có thể thêm cả hai tài liệu tham khảo, nhưng tôi sẽ dính vào một loại dự án, hoặc là WPF hoặc Windows Forms và gắn bó với các thư viện đó. –

0

DLL chứa thư viện và không gian tên đó hiện không được tham chiếu trong dự án của bạn.

Thêm tham chiếu đến DLL đó trong dự án của bạn và sau đó nó có thể được tham chiếu.

DLL được đề cập là một phần của khung công tác WPF. Tôi đã bao gồm một ảnh chụp màn hình của một ứng dụng mẫu WPF. Khi bạn tạo một appliation WPF, bạn sẽ tự động nhận được tham chiếu khung trình bày. Ngoài ra, lưu ý, bạn cũng có thể thêm các tham chiếu Windows Forms cũ hơn nếu muốn. Nếu bạn không tạo một ứng dụng WPF, tham chiếu này sẽ phải được thêm thủ công.

Nhưng, tôi khuyên bạn nên tạo một ứng dụng WPF HOẶC Biểu mẫu cảm ứng Winforms, chứ không phải kết hợp cả hai.

enter image description here

7

Để tham khảo, không gian tên System.Windows.Input có thể được truy cập bằng cách tham chiếu đến assembly WindowsBase.

Đã thử nghiệm bằng thư viện lớp .Net 4.5 (cho mục đích ánh xạ System.Windows.Input.Key đến sự kiện lăng kính).

1

Tôi đã thêm Điều khiển người dùng (WPF) vào dự án. Điều này bao gồm các tham chiếu cần thiết. Bạn có thể xóa nó ngay lập tức khi bạn biên dịch chương trình. Hy vọng điều này làm việc cho bạn.

-1

Không cần phải trải qua tất cả điều này, chỉ cần thêm tệp PresentationCore vào ứng dụng của bạn. Bạn có thể làm điều này chỉ đơn giản bằng cách thêm một tham chiếu đến DLL này.

Các vấn đề liên quan