Windows ストア アプリ初めの1歩

前回はWindows ストア アプリとはどんなものであるか、また開発環境の構築はどうするかについて解説しました。今回からいよいよ実際にWindows ストア アプリの作成に入っていきます。できる限り意識して初心者の目線でこの記事を書いていくつもりです。なお、この連載はWindows ストア アプリ

薬師寺 国安

2014年4月29日 0:00

前回はWindows ストア アプリとはどんなものであるか、また開発環境の構築はどうするかについて解説しました。今回からいよいよ実際にWindows ストア アプリの作成に入っていきます。できる限り意識して初心者の目線でこの記事を書いていくつもりです。なお、この連載はWindows ストア アプリ プログラミングの初心者を対象としていますが、必ずしもプログラムの初心者が対象ではありません。そのため、変数やプロパティ、メソッドの意味はすでに理解している前提で解説しています。

VS2013でプログラムを書くには?

では今回もプロジェクトを作成するところから始めましょう。VS2013を起動させる手順とプロジェクトの作成方法は第1回で解説しているので、そちらを参考にしてください。プロジェクト名は「BeginnersApp」としました。

プログラムをするためには、ツールボックスからコントロールをドラッグドロップしてデザイン画面上に配置し、そのコントロールをダブルクリックするとイベントコードが表示され、その中にコードを書けばいいところまでは解説しました。

まず最初に、ソリューションエクスプローラー内のMainPage.xamlをダブルクリックしてデザイン画面を起動させることが、第一歩の始まりです。ソリューションエクスプローラーからMainPage.xamlをダブルクリックしたのが、図1の画面です。

図1 MainPage.xamlのデザイン画面(クリックで拡大)

最初のサンプルとして、Windows ストア アプリがアクティブになった時に、プログラムの定番である「Hello Windows Store App!」と表示させてみましょう。「Hello Windows Store App!」と表示させるためには、その表示させるコントロールを配置しなければなりません。この場合はツールボックスから「TextBlock」コントロールを、デザイン画面上にドラッグドロップします。ドラッグドロップしたら表示されている小さな■をドラッグして適当な幅と高さに設定しておきます(図2)。するとXAML画面内にもTextBlockのコードが追加されます。

TextBlockコントロールは文字列や数値を表示させることができるコントロールです。

図2 ツールボックスからTextBlockコントロールをドラッグドロップして、適当な幅と高さに設定した(クリックで拡大)

第1回ではデザイン画面に配置したButtonコントロールをダブルクリックして、コントロールのイベントコードを表示させましたが、今回はTextBlockコントロールをダブルクリックして「Hello Windows Store App!」と表示させるわけではないので、コードエディタ画面を表示させます。ソリューションエクスプローラー内のMainPage.xamlを展開してMainPage.xaml.vbを表示してみましょう(図3)。

図3 MainPage.xaml.vbをクリックしてコードエディタ画面を表示した(クリックで拡大)

Windows ストア アプリがアクティブになった時の処理は、下記のリスト1のコードの中に記述します。

リスト1 Windows ストア アプリがアクティブになった時の処理

    Protected Overrides Sub OnNavigatedTo(e As NavigationEventArgs)
        MyBase.OnNavigatedTo(e)
    End Sub

図3の7行目にあるInherits Pageの下に、「P」と入力するとインテリセンス機能が働き、「P」で始まるコードが表示されます。そこでProtectedを選択し、半角スペースを空けて「O」と入力すると、「O」で始まるコードの候補が表示されるので、Overridesを選択しましょう。次に半角空けてSubと入力し、最後に「onn」と入力して表示されるOnnavigatedToを選択します(図4)。

ただし、VS2013の環境によっては、この通りに表示されるとは限らないので、注意してください。

図4 インテリセンス機能でProtected Overrides Sub OnNavigatedTo(e As NavigationEventArgs)プロシージャを作成する。(クリックで拡大)

この中にアプリがアクティブになった時に「Hello Windows Store App!」と表示させるコードを記述します。

図2でTextBlockコントロールを配置しましたが、テキストを表示させるには、このコントロールに名前を付けなければいけません。「名前」をMessageTextBlockとしましょう。MainPage.xamlのTextBlockコントロールを選択し、「プロパティ」の[名前]にMessageTextBlockと指定します(図5)。

図5 TextBlockコントロールのプロパティの[名前]にMessageTextBlockと指定した(クリックで拡大)

するとXAMLコード内のTextBlockにも図6のように

 x:Name=”MessageTextBlock”

という名前が追加されます。

図6 XAML内のTextBlockコントロールにもx:Name=”MessageTextBlock”が追加された(クリックで拡大)

これで、準備完了です。では先ほどのリスト1の中にリスト2のようにコードを書いてみましょう。

リスト2 TextBlock(MessageTextBlock)内に「Hello Windows Store App!」と表示させるコード

    Protected Overrides Sub OnNavigatedTo(e As NavigationEventArgs)
        MessageTextBlock.Text = "Hello Windows Store App!"
        MyBase.OnNavigatedTo(e)
    End Sub

コードを入力する際にもインテリセンス機能が働き「M」と入力すると「MessageTextBlock」が表示され、次に「.」を入力するとプロパティの候補が表示されるので、その中からTextを選択して、リスト2のように記述します。

これで、アプリがアクティブになった時に 「Hello Windows Store App!」と表示させるコードが完成しました。さていよいよ実行させてみましょう。「F5」キーを押下するか、VS2013メニューの[デバッグ]ー[デバッグ開始]をクリックすると、図7のように表示されます。

図7 アプリを実行して「Hello Windows Store App!」と表示された(クリックで拡大)

確かに表示はされました。しかし、文字があまりに小さく、なんと表示されているのか判別し辛いです。これはTextBlockコントロールに何のプロパティも設定していないために、このように表示されたのです。プロパティは、そのコントロールの見栄えを設定する際に使用します。この場合は、文字サイズをもっと大きく、文字色も目立つ色に、書体ももっとかっこいいものを選んだ方がいいでしょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30