画面に貼り付ける「コントロール(control、操作子)」はWindowsストア アプリの開発における大きな「壁」です。特に、Grid、StackPanel、FlipView、GridView、ListViewといったレイアウト用のコントロールは、これまでWindowsアプリケーションを作って着た開発者には難しいもの。一つひとつ、短いサンプルで使い方を理解しましょう!
今回はVisual Basicを使って解説をします。日経ソフトウエアのWebサイトでは、Visual BasicとC#のコードをダウンロードできます。
1●Buttonコントロール:押してイベントを発生させる
GUI(Graphical User Interface)部品の中で最も重要なのがButton(ボタン)です。ボタンはユーザーにボタン名を表示し、ユーザーがそれを押したら処理を開始します。まずは、ボタンを使ったWindowsストア アプリを作ってみましょう。
Visual Studio 2012*1を起動したら、メニューで「ファイル」→「新しいプロジェクト」を選び、「新しいプロジェクト」画面を出します。左側のツリーで「テンプレート」→「Visual Basic」を選び、中央の一覧にある「新しいアプリケーション(XAML)Visual Basic」を選び、下の名前欄にプロジェクト名を入力します。筆者はここではプロジェクト名を「button01」としました。右下の「OK」ボタンを押すとプロジェクトが作られます。
右上の「ソリューション エクスプローラー」を使ってMainPage.xamlを開きます。「XAML」タブをクリックしてXAML(Extensible Application Markup Language)のソースコードを直接編集します*2。リスト1の(1)の行を追加します*3。「日経ソフトウエアは…」と書かれたボタンを追加し、その名前を「Button1」にする、というコードです。
次に、ユーザーがボタンを押した時の処理を記述します。(1)の行をクリックしてカーソルを置き、右下の「プロパティ」ウィンドウを見ると、Button1が出ているでしょう。名前の右にある稲妻の形をしたアイコン「選択した要素のイベント ハンドラー」をクリックし、Clickイベントの右の空白をダブルクリックします。すると、MainPage.xaml.vbが開き、Button1_Clickサブプロシジャの中身を編集できる状態になります。
そこにリスト2(2)のコードを入力します。ShowMessageというサブプロシジャは(3)のように記述します。これで実行すると、画面に図2のボタンが現れ、それを押すと図3のようにメッセージが表示されます。
以前のVisual Basicではツールボックスからフォームにボタンをドラッグ&ドロップしていたのに、今度はXAMLのコードを編集しなければいけないのか…と思った方もいることでしょう。Visual Studio 2012のWindowsストアアプリ開発でも、ツールボックスからのドラッグ&ドロップはできます。ただ、それをするとXAMLのコードがたくさん記述され、読んだり編集したりするのが大変になります。XAMLを直接編集した方が、見通しのよいコードを維持しやすいと思います。