クイック スタート: メッセージ ダイアログの設計 (HTML)
[ この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、「最新のドキュメント」をご覧ください]
このクイック スタートでは、メッセージ ダイアログの設計と実装に関するガイドラインを示します。 「メッセージ ダイアログの追加」で説明したように、メッセージ ダイアログはアプリのキャンバス全体に表示され、ダイアログの内容に応じて水平方向にサイズが変更されます。ダイアログには、タイトル、メッセージ、最大 3 つのボタンを追加できます。
必要条件
手順
サンプル コードは、インターネット接続が見つからないことをユーザーに通知して、応答を求めるメッセージ ダイアログです。このクイック スタートに示すコードの大部分は、メッセージ ダイアログのサンプル ページにあります。
1. ダイアログ コンテンツを作成します。
// Create the message dialog and set its content
var msg = new Windows.UI.Popups.MessageDialog(
"No internet connection has been found.");
2. ボタンを追加します。
// Add commands and set their command handlers
msg.commands.append(new Windows.UI.Popups.UICommand(
"Try again",
commandInvokedHandler));
msg.commands.append(
new Windows.UI.Popups.UICommand("Close", commandInvokedHandler));
// Set the command that will be invoked by default
msg.defaultCommandIndex = 0;
// Set the command to be invoked when escape is pressed
msg.cancelCommandIndex = 1;
3. ダイアログを表示します。
// Show the message dialog
msg.showAsync();
4. 必要に応じて、複数のモーダル UI を処理します。
たとえばメッセージ ダイアログからファイル ピッカーを開くなど、ダイアログから別のモーダル UI を起動することがたまにあります。Windows では、元のダイアログのコマンド ハンドラー内から別のモーダル UI を起動することはできません。
代わりに、非同期操作の完了したハンドラー内からセカンダリ UI を起動します。完了したハンドラーは、ダイアログが破棄された後に実行され、非同期操作の結果が渡されるため、どのコマンドをユーザーがクリックしたかを元の UI から見分けることができます。
var result = await msg.ShowAsync();
if (result.Label == "Buy")
{
await this.YourCustomFLow(result);
}
private async Task YourCustomFlow(IUICommand command)
{
// Your code here.
}
要約
このクイック スタートでは、メッセージ ダイアログの設計と実装に関するガイドラインを示しました。