酢ろぐ!スマートフォン用の表示で見る酢ろぐ!カレーが嫌いなスマートフォンアプリプログラマのブログ。AppsおそらくMetroスタイルアプリ開発をする上で100人居れば100人使っているだろうと思われるMessageDialogについてです。今まで.NETアプリケーション開発の経験のある方でいうとMessageBoxの変わりと言えます。Windows.UI.Popups名前空間のMessageDialogクラスは、テキストまたはタイトルとテキストを表示させるモーダルダイアログで、処理にエラーが発生した場合のユーザーへの通知であったり、処理の実行前にユーザーに許可を取る場合に使用するケースが多いと思われます。以下の名前空間をusingディレクティブへ追加しておいてください。||<**もっともシンプルなメッセージダイアログの表示させ方MessageDialogクラスにはShowAsyncメソッドが提供されており、このメソッドを使用してメッセージダイアログを表示します。ShowAsyncメソッドはオーバーロードで2つの使い方が出来るようになっています。text)メソッドの場合まず最初にメッセージダイアログのメッセージ部分だけをパラメータにするタイプ。||<指定したタイトル、[閉じる]ボタンが表示されています。次にキャプション(タイトル)部分も含めてパラメータにするタイプ。||<指定したタイトルとメッセージ、[閉じる]ボタンが表示されています。Frameworkを使用して比較的複雑な実装が要求されていました。Metroスタイルアプリでは、MessageDialog.CommandsプロパティにUICommandインスタンスを追加するだけで複数のボタンを表示させることが可能です。||<上記のサンプルコードを実行してみました。下図のようにボタンが2つ表示されていることが確認できます。**ユーザーに選択してもらいたいボタンを強調するボタンを複数表示させる場合、ユーザーに選択してもらいたいボタンを強調して表現することができます。データベースのレコード削除など一度実行してしまえばアンドゥすることのできない処理の場合、事前にユーザーに確認を取るケースが多くあります。その場合、Enterキーを誤って押してしまい取り返しのつかない事を防ぐため、[キャンセル]ボタンを強調し、さらにフォーカスを当てておくことで事故を防ぎます。DefaultCommandIndexプロパティに強調させたいボタンのインデックス値を設定してください。||<先ほどのスクリーンショットと異なり、[キャンセル]ボタンが強調されています。