Xamarin.Formsでスマホアプリ開発

C#Xamarin.Formsでスマホ開発#16 DisplayAlertの使い方

DisplayAlertとは?

DisplayAlertとは,メッセージを表示する機能です。WindowsFormsで言うところのMessageBoxですね。使い方は2種類あって,OK応答だけのやつと,OKとCancelの応答をとるものがあります。

DisplayAlertの使い方

DisplayAlertの使い方を解説していきます。前回までの続きで,MenuPageから新しいページを呼び出して,動作を確認していきましょう。今回は新規のContentPageページを作成して「MessageBoxPage」という名前にしましょう。MenuPageからは,下記のようにしてMessageBoxPageを呼び出せるようにします

  • MessageBoxPageをメニューに追加
  • ItemTappedでMessageBoxPageが表示されるようにする。

MessageBoxPageの作成

MessageBoxPageというContentPageを新規で作成して下記のようにします。ボタン2つを追加して,OK応答用とOKCancel応答用のボタンとします。それぞれにClickedイベントを定義し,コードビハインドで実装します。

コードビハインド側でClickedイベントの実装を行う。

  • OKButtonのクリック時にDisplayAlertを呼び出しています。引数は「タイトル」「メッセージ」「ボタンの文言」です。通常はCCCの部分をOKなどとします。
  • OKCancelのクリック時も同様にDisplayAlertを呼び出しますが,引数が1つ多いです。タイトル」「メッセージ」「OK時の文言」「キャンセル時の文言」の順です。
  • 戻り値はOKボタンが押下されたときはTrue,キャンセルの場合はFalseが戻ります。
  • DisplayAlertの前にawaitがあるのは,DisplayAlertが非同期で動作するため,戻り値をもらう前に2行目に進んでしまうためです。メッセージは応答を待つ必要があるため基本的にはawaitして使用することになるでしょう。必然てきにasyncの構文も必要です。

実行

実行して確認してみましょう。

OKボタンを押下すると次のように表示されます。

OKCancelボタンを押下すると次のように表示されます。

OKかキャンセルを選ぶときに,「OK」を押下するとTrue,「キャンセル」を押下するとfalseが返されることが確認できます。

Xamarin.Formsでスマホアプリ開発

C#を正しい3層構造で造れてますか?

非売品コースを受け取る