برنامه نویسی ویندوز 10: Message Dialog

Universal Windows Platform

Message Dialog

در این بخش از سری آموزش های برنامه نویسی پلتفرم ویندوز یونیورسال (برنامه نویسی ویندوز 10) به بحث نمایش پیغام‌ها می پردازیم. برای نمایش پیغام ها از Namespace (یا فضای نامی) زیر استفاده می‌کنیم.

using Windows.UI.Popups;

Message Dialog انواع مختلفی دارد که با تمامی آنها آشنا خواهید شد.

1. استفاده از Close پیش فرض

var messageDialog = new MessageDialog("You have a new message.");
await messageDialog.ShowAsync();

در خط اول یک Message Dialog ساخته خواهد شد و مقدار دهی می شود.

در خط دوم نیز با استفاده از تابع ShowAsync نمایش داده خواهد شد. کلمه کلیدی await به معنای منتظر ماندن جهت نتیجه پیغام خواهد بود. به این صورت که در صورتی که کدی بعد از آن نوشته باشید اجرا نخواهد شد. این کلمه کلیدی الزامی است.

نکته ای که باید بدانید این است که بخاطر استفاده از await لازم است تابع مربوطه به صورت async تعریف شده باشد. یه عنوان مثال در رویداد کلیک یک Button بین دو private و void باید عبارت async را اضافه کنید.

نمونه:

private async void button_Click(object sender, RoutedEventArgs e)
{
   // ....
}

نحوه اجرای حالت 1 را در Desktop و Mobile مشاهده می کنید.

برنامه نویسی ویندوز 10 Message Dialog

2. استفاده از Cancel

// Create the message dialog and set its content
var messageDialog = new MessageDialog("No internet connection has been found.");

// Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers
messageDialog.Commands.Add(new UICommand("Try again", new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.Commands.Add(new UICommand("Close", new UICommandInvokedHandler(this.CommandInvokedHandler)));

// Set the command that will be invoked by default
messageDialog.DefaultCommandIndex = 0;

// Set the command to be invoked when escape is pressed
messageDialog.CancelCommandIndex = 1;

// Show the message dialog
await messageDialog.ShowAsync();

در این حالت بخصوص در خط 5 و 6 همان طور که مشاهده می کنید. دو کلید به نام های "Try again" و "Close" تعریف شده اند. که هر کدام به یک Handler تخصیص داده شده اند. کد Handler را می توانید مشاهده کنید.

private void CommandInvokedHandler(IUICommand command)
{
    // ...
}

در این حالت با استفاده از command می توانید رویداد را کنترل کنید. البته این تنها راه انجام این کار نیست. روش دیگری برای این کار وجود دارد.

در ادامه DefaultCommandIndex = 0 قرار داده شده است، اگر دقت کنید همان طوری که از نامش پیداست Index دکمه پیش فرضی که موقع اجرا انتخاب شود را تغیین می کند. در این حالت چون TryAgain زود تر تعریف شده است پس ایندکس ان 0 است پس این کلید انتخاب می شود و با فشار Enter توسط کاربر نیز انتخاب می شود.

CancelCommandIndex = 1 است که تعیین می کند که در صورتی که کاربر کلید Esc را فشار داد کدام رویداد اجرا شود.

این مطلب برای اولین بار در تاریخ 26 مهر 1394 در وبلاگ پیمان محمدی منتشر شده است.
نظرات (2)
محمد
10 سال پیش

در مورد اینترنت محدود گرون ما و مشکل اضافه کردن امکان برنامه نویسی یونیورسال به VS2015 این جوابیه که به من توی فروم مایکروسافت دادن و احتمالا مشکلات زیادی رو حل میکنه

If you want a totally offline installer packages that can useful for the computer without internet, please follow the steps.

a. download the web installer of VS 2015 community with Update 2

الف. از طریق این لینک وب اینستالر VS 2015 رو دانلود کنید :

http://download.micr...s_community.exe

b. run the command:vs_community_ENU /layout in the elevated command prompt

ب. cmd رو بصورت ادمین اجرا میکنی با استفاده از دستور cd به محل دانلود فایل بالا میری و دستور vs_community.exe /layout رو تایپ میکنید و اینتر میزنید

c. After you run the command, you should be prompted for the download location. Enter the location, and then choose Download

پ. محل ذخیره فایل رو مشخص میکنید

d. When the package download is successful, you should see a Visual Studio screen that says Setup Successful! All specified components have been acquired successfully

ت. اگر عملیات دانلود موفقیت آمیز بود پیام فوق رو میبینید

e. In the file location that you specified, find the executable file and the package folder. This is everything you need to copy to a shared location or install mediae

ث. خوب حالا ما یه نسخه رایگان با تمام امکانات بصورت نصب کاملا آفلاین داریم !!! اگر بشه یه نفر انجام بده و بعد آپلود کنه عالی میشه البته از طریق نت ایران که بعیده اگر یه نفر یه سرور یا هاست نامحدود داشته باشه راحته

سرعت نت و هزینه زیادی میخواد این کار برای خودم که مقدور نیست !!!!!!!!!!!

اینم لینک سوال من توی فروم msdn

https://social.msdn....s?forum=vssetup

محمد
10 سال پیش

سلام دوست عزیز چطور میشه ابزار برنامه نویسی یونیورسال شامل sdk و tools و emulator رو به visual studio اضافه کرد توی ستاپ خودش که میخواد ۹ گیگ دان کنه نمیشه فایل ایزوش رو قرار بدین طی چند روز شبانه رایگان با idm دانلود کنیم خودتون بهتر وضعیت اینترنت ایران رو میدونید ۹ گیگ‌زیاده هم سرعت کمه هم گرون میشه ۹ گیگ دانلود روزانه

اینجا خودم توی فروم مایکروسافت از ادمیناش پرسیدم ولی جواب درست و حسابی نمیدن تهش اینه که با دستور executable /layout پکیج رو برای نصب آفلاین دانلود کنید که مشکل رو احتمالا حل میکنه ولی بازم اینترنت ارزان و سرعت بالا میخواد

https://social.msdn.microsoft.com/Forums/en-US/8bffa9fb-bd19-4993-bfa3-e0bc8eaf8f45/cannot-download-windows-10-tools-uwp-tools?forum=vssetup

اگر یه سرور یا هاست توی نت داشته باشید و از اونجا دان کنید و بعد لینک برای دانلود قرار بدید فکر کنم بهترین راهه فکر کنم

بله درسته با استفاده از دستور setup.exe /layout میتونید فایل های دانلود شده رو در مسیر نصب داشته باشید. ولی در مورد دانلود هم باید بگم که دانلود و نصب ابزار های برنامه نویسی ویندوز 10، نیازمند خود ویندوز 10 هستش و سرور مجازی ای که ویندوز 10 باشه وجود نداره.