ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
MsgBox.cs ( No.2 )
日時: 2013/05/10 15:39
名前: lightbox



拡張子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Popups;

namespace S130510_LBOX_StoreBlank
{
	class MsgBox
	{

		// **********************************************************
		// 選択肢を応答するダイアログ
		// **********************************************************
		public static async void ShowAsync(MainPage pg, string ok, string cancel, string message, UICommandInvokedHandler handler)
		{
			// Page.Resources から TextResource を取得
			var NameSpace = pg.GetType().Namespace;
			var trs = pg.Resources.Values.Where(Value => Value.ToString() == NameSpace + ".TextResource");
			TextResource tr = (TextResource)trs.First();
			var Title = tr.PageTitle;
			var AppName = tr.AppName;
			var messageDialog = new MessageDialog(message, Title + " (" + AppName + ")");

			// OK ボタンのイベントを定義する
			var OK_Handler = new UICommandInvokedHandler(handler);
			var OK_Command = new UICommand(ok, OK_Handler) { Id = 0 };
			messageDialog.Commands.Add(OK_Command);

			// Cancel ボタンのイベントを定義する
			var CANCEL_Handler = new UICommandInvokedHandler(handler);
			var CANCEL_Command = new UICommand(cancel, CANCEL_Handler) { Id = 1 };
			messageDialog.Commands.Add(CANCEL_Command);

			// Enter キーで反応するデフォルトボタン
			messageDialog.DefaultCommandIndex = 0;
			// ESC キーで反応するキャンセルボタン
			messageDialog.CancelCommandIndex = 1;

			await messageDialog.ShowAsync();

		}

		// **********************************************************
		// 確認をするだけのダイアログ
		// **********************************************************
		public static async void ShowAsync(MainPage pg, string ok, string message)
		{
			// Page.Resources から TextResource を取得
			var NameSpace = pg.GetType().Namespace;
			var tr = pg.Resources.Values.Where(Value => Value.ToString() == NameSpace + ".TextResource");
			var Title = (tr.First() as TextResource).PageTitle;
			var AppName = (tr.First() as TextResource).AppName;
			var messageDialog = new MessageDialog(message, Title + " (" + AppName + ")");

			// OK ボタンのイベントを定義する
			var OK_Command = new UICommand(ok, (command) => { });
			messageDialog.Commands.Add(OK_Command);

			// Enter キーで反応するデフォルトボタン
			messageDialog.DefaultCommandIndex = 0;
			// ESC キーで反応するキャンセルボタン
			messageDialog.CancelCommandIndex = 0;

			await messageDialog.ShowAsync();

		}

	}
}