コントロールとC#コードの対話
ただコントロールを表示しただけでは、あまり意味のあるアプリにはなりませんね。実行中に表示を変えたり、エンドユーザーの操作に応答したりするにはどうするのでしょう?
コードビハインド
コントロールのプロパティは、「コードビハインド」(または「分離コード」)と呼ばれるC#のコードから変更できます。また、コントロールはエンドユーザーの操作を受けて、コードビハインドのメソッドを呼び出すこともできます(イベントハンドラー)。これらは、コントロールとC#のコードが対話するための「簡易的」な方法です。大規模なアプリを開発するときの「本格的」なバインディングという方法は回を改めて解説します。
例えばMainWindow.xamlに対しては、MainWindow.xaml.csがコードビハインドになります。Visual Studioのソリューションエクスプローラーで見ると、[MainWindow.xaml]にぶら下がるようにしてコードビハインドの[MainWindow.xaml.cs]があります(次の画像)。
コードビハインドは、実際には独立したC#のソースコードファイルです。Windowsのエクスプローラーで見ると分かります(次の画像)。
コードビハインドは、Visual Studioでプロジェクトにウィンドウを追加すると、自動的に作成されます。
そして、ビルドするときに、XAMLで定義されたオブジェクトが、コードビハインドで定義されたクラスにマージされます。ですから、XAMLのコントロールとコードビハインドのC#コードは「対話」できるのです。
コードビハインドからXAMLのコントロールにアクセスするには、コントロールに変数名を付けておきます。XAMLのコントロールからコードビハインドのメソッドを呼び出すには、コントロールのイベント属性にメソッド名を指定します。別の方法もありますが、今回はこのやり方でいきましょう。
