以降に含まれるユーザインタフェースサブシステムです。「ユーザインタフェースとロジックを明確に区別する一貫したプログラミングモデルを提供します。"プログラミングモデル"ですので、WPFは「プログラミング言語」ではありません。Studioでプロジェクトを生成すると、最初にForm1というSystem.Windows.Forms.Formの派生クラスのフォームが用意されています。ボタンを1つ置いて、ボタンを押したときの処理を書くには、デザイナでForm1にbutton1というボタンを置くこのbutton1をダブルクリックするForm1.csにbutton1_Clickというイベントハンドラができるイベントハンドラにコードを書くだと思います。WPFも、デザイナにボタンを置くボタンをダブルクリックするクリックしたときの処理(button1_Click)ができるこの"button1_click"に処理を書くという順番に違いはほとんどありませんし、こうするだけでボタンを押したときの処理は実行できます。WPFでは何が違うのかまず、WPFは画面を作る「ソースコードの構成」が違います。Form1という名前を例にすると、Windowsフォームでは"Form1.Designers.cs"と"Form1.cs"WPFは"Form1.xaml"と"Form1.xaml.cs"で構成されています。ファイル名や構成がちょっと違うということではなく、この2つの「ファイルの関係」が全く違います。Windowsフォームで"Form1.Designers.cs"と"Form1.cs"は、1つの画面に関するクラスのコードを2つのファイルに分けて記述しています。図で示すとこのようになります。この2つのファイルに記述されているプログラミング言語はC#です。ところが、WPFでは、"Form1.xaml"には、画面の表示に関する記述(ユーザーインターフェース)のみ。"Form1.xaml.cs"は、画面の振る舞い(ロジック)のみが記述されています。XAML、"Form1.xaml.cs"はC#です。”ユーザインタフェースとロジックを明確に区別”していますが、ソースコードのほうにC#のコードは今まで通り書くことができます。プログラムでリソースを作って使う」でリソース(resx)ファイルを使った方法を紹介しました。TraceListernerの派生クラスを作るプログラムを作ってデバッグをするときに「トレース」はとてもよく使います。Studioなどでは「出力」ウィンドウなどに表示などをしてくれるのでとても助かります。棒グラフを表示する(Chartコントロール)前回Chartコントロールの「折れ線グラフ」を表示してみました。次によく見かけるグラフに「棒グラフ」がありますので、表示してみます。インストールされているプログラムのリストを取得する(Microsoft.Win32.Registryクラス)「プログラムのインストール状態」といっても、PC内の入れて使っているものすべてではなく、Windowsインストーラなどでインストールしたプログラムだけが対象です。