PhoneApplicationPage

PhoneApplicationPageは、WindowsPhoneアプリの画面を構成するページのクラス・・・。

VisualStudioで、
[Visual C#]-[Silverlight for Windows Phone]-[Windows Phone アプリケーション]
を選択してプロジェクトを作る・・・。
f:id:BG1:20141216101855j:plain

最初だから7.0選ぶ・・・。
f:id:BG1:20141216102220j:plain
PhoneApplicationPage_ってプロジェクト名にしてる・・・。

そうすると、MainPage.xamlのデザイナが左に、コードが右に出る・・・。
MainPageはPhoneApplicationPageを継承したもので、MainPage.xamlとMainPage.xaml.csで構成される・・・。
これをいじっていく・・・。

まずはXAML側でApplicationTitleを"PhoneApplicationPage_"、PageTitleを"MainPage"とする・・・。
これは、単純なTextBlockで
f:id:BG1:20141216103808j:plain
こんな風に画面上部に表示される・・・。

これだけだと寂しいので、
コンストラクタ、Loadedのイベントハンドラ、MouseLeftButtonDownのイベントハンドラ、MouseLeftButtonUpのイベントハンドラ
の処理が発生したとき、TextBlockで最後に何が起きたかを表示するようにしよう・・・。
このphoneAppStatusというTextBlockに最後に起きたコンストラクタかイベントが表示される・・・。

まずは、MainPageの初期化、コンストラクタ・・・。
phoneAppStatusのテキストはここで"Constructor"になる・・・。

次に、PhoneApplicationPageの[イベント]で[Loaded]でダブルクリックすると、
f:id:BG1:20141216102302j:plain
MainPage.xaml.csにイベントハンドラが追加される・・・。
で、ここで"Loaded"にする・・・。
ちなみにLoadedはページがロードされ表示されたときなので、このアプリの起動中に"Constructor"を見ることはできない・・・。

次はMouseLeftButtonDown、これはページをタップで押されたときに発生する・・・。
これも[Loaded]と同じように[MouseLeftButtonDown]でダブルクリックして追加・・・。
f:id:BG1:20141216110917j:plain
でphoneAppStatusを"MouseLeftButtonDown"にする・・・。

最後はMouseLeftButtonUp、ページから指が離れたときに発生する・・・。
ハンドラ追加、
f:id:BG1:20141216111604j:plain
でハンドラで"MouseLeftButtonUp"にする・・・。

これで完成・・・。
エミュレータで実行してみると起動時には、
f:id:BG1:20141216111751p:plain
"Loaded"が表示されている・・・。

タップして押しっぱなしにすると、
f:id:BG1:20141216112014p:plain
"MouseLeftButtonDown"になっている・・・。

離すと、
f:id:BG1:20141216111939p:plain
"MouseLeftButtonUp"になった・・・。

Sample/MainPage.xaml at master · bg1bgst333/Sample · GitHub
Sample/MainPage.xaml.cs at master · bg1bgst333/Sample · GitHub