2011-10-19 12 views
8

私は私のプログラムの上部にusing System.Windows.Input;持っているが、それはそれと言って私にエラーを与える:System.Windows.Inputは存在しませんか?

型または名前空間名「入力」名前空間に存在しません「System.Windows」(あなたが不足していますアセンブリ参照?)

そして、私はそれが唯一の有効なオプションとしてFormsを示しています右Windows後の期間にIntelliSenseのポップアップをしましょう。私はこの問題を解決するにはどうすればよい...ビジュアルC#2010 Expressで

を.NETフレームワーク4.0を使用していますか?

答えて

14

私はあなたの代わりに、WPFプロジェクトのWindowsフォームプロジェクトを、作成した疑い。

System.Windows.Input

に寄与するタイプはPresentationCore.dll、潜在的に他のWPF関連のアセンブリです。

私はあなたが Windowsフォームアプリケーションでそれらを使用できるかどうかを確認するために言ってSystem.Windows.Input内の型について十分知らないが、私は、少なくともを奨励するだろうあなたがWindowsに行くことにするかどうかを決定しますフォームまたはWPFを使用して、そのUIプラットフォームに対してタイプを使用します。

+0

私はWindowsフォームを使用しています....私はWPFに切り替える必要がありますか、何とかWindowsフォームにとどまることができますか? – Alper

+0

@Jacob:System.Windows.Input内で何を使用しようとしていますか?これは、あなたがしようとしていることに応じて、WinFormsアプリケーションに適しているかもしれません。 WPFをより良いUIプラットフォームにすることをお勧めしますが、それはあなたの正確な要件に依存します。 –

+0

両方の参照を追加できますが、WPFまたはWindowsフォームのいずれかのプロジェクトタイプに固執し、それらのライブラリに固執します。 –

0

ライブラリと名前空間は、現在プロジェクトで参照されていないことを含むDLL。

は、プロジェクトでそのDLLへの参照を追加し、それを参照することができます。

上記のDLLは、WPFフレームワークの一部です。サンプルのWPFアプリケーションのスクリーンショットを含めました。 WPFアプリケーションを作成すると、プレゼンテーションフレームワークの参照が自動的に取得されます。また、必要に応じて古いWindowsフォームの参照を追加することもできます。 WPFアプリケーションを作成しない場合は、この参照を手動で追加する必要があります。

しかし、WPFアプリケーションまたはWinformsアプリケーションを作成することをお勧めします。両方の組み合わせではありません。参考

enter image description here

7

、System.Windows.Input名前空間はWindowsBaseアセンブリを参照することによってアクセスすることができます。

.NET 4.5クラスライブラリ(System.Windows.Input.Keyをプリズムイベントにマッピングするため)を使用してテストされています。

1

私はプロジェクトにユーザーコントロール(WPF)を追加しました。これには必要な参照が含まれます。プログラムをコンパイルするとすぐに削除することができます。これはあなたのために働くことを望みます。

-1

これをすべて行う必要はなく、アプリケーションにPresentationCore dllを追加するだけです。このDLLへの参照を追加するだけでこれを行うことができます。