Kezdőlap > Windows 8 > MessageDialog, avagy a MessageBox utódja

MessageDialog, avagy a MessageBox utódja

2012. december 13. csütörtök Hozzászólás Go to comments

A Windows Store alkalmazásoknál nincs MessageBox, mint a WPF-nél vagy a Windows Formsnál. A fejlesztők nagyon szeretik az üzenet ablakokat feldobni, mert gyorsan és egyszerűen tudnak üzenetet küldeni a felhasználói felületre. Ez a lehetőség viszont Windows Store alkalmazásoknál nem így működik. MessageBox osztály nem létezik, helyette viszont van MessageDialog, ami a Windows.UI.Popups névtérben található.

using Windows.UI.Popups;

A MessageDialog használata valamivel összetettebb, mint a MessageBox-é, de cserébe sokkal többet nyújt a feljesztők számára, mint a MessageBox. Nézzünk egy egyszerű példát:

Első példánkban egy üzenetet dobunk fel. Ehhez mindösszesen egy MessageDialog-ot kell példányosítanunk, a megfelelő argumentumokat átadni majd a ShowAsync metódust meghívni.

MessageDialog mDialog = new MessageDialog("Figyelmeztetés!", "Alkalmazás neve");
mDialog.ShowAsync();

Ennek az eredménye az alábbi párbeszédablak lesz.

image

Figyeljük meg, hogy egy Close gomb van csak a párbeszédablakban! A MessageBox-ban ezek a lehetőségek korlátozottak voltak. A MessageDialog-nál ez sokkal testreszabhatóbb. Ha új gombokat szeretnénk hozzáadni, akkor a MessageDialog példány Commands gyűjteményéhez kell új UICommand-ot hozzáadnunk. Az alábbi példában egy Igen és egy Nem gombot adunk a felhasználói felülethez.

MessageDialog mDialog = new MessageDialog("Figyelmeztetés!", "Alkalmazás neve");

mDialog.Commands.Add(

    new UICommand("Igen"));

 

mDialog.Commands.Add(

    new UICommand("Nem"));

 

mDialog.ShowAsync();

Az eredménye mint látható egy olyan MessageDialog, amelyen van egy Igen és egy Nem gomb.

image

A gombok sorrendje nem más mint, a Commands gyűjteményhez adás sorrendje. Tehát, ha előbb adjuk hozzá a Nem UICommandot, mint az Igent, akkor az lesz a sorrendben elöl.

MessageDialog mDialog = new MessageDialog("Figyelmeztetés!", "Alkalmazás neve");

mDialog.Commands.Add(

    new UICommand("Nem"));

 

mDialog.Commands.Add(

    new UICommand("Igen"));

mDialog.ShowAsync();

Az eredmény az alábbi képen látható.

image

Figyeljük meg, hogy ebben az esetben a Nem gomb van kijelölve alapértelmezett gombnak! Ha ezt befolyásolni szeretnénk, akkor a DefaultCommandIndex-szel tehetjük meg az alábbi módon:

MessageDialog mDialog = new MessageDialog("Figyelmeztetés!", "Alkalmazás neve");

mDialog.Commands.Add(
    new UICommand("Nem"));


mDialog.Commands.Add(
    new UICommand("Igen"));


mDialog.DefaultCommandIndex = 1;
mDialog.ShowAsync();

Ennek az eredménye a következő MessageDialog lesz:

image

Figyeljük meg, hogy ebban az esetben az Igen gomb van alapértelmezett gombnak beállítva!

Eddig gombokat adtunk a MessageDialoghoz, de funkciókat ezekhez a gombokhoz nem társítottunk.

A következő példában ezt fogjuk megtenni, mégpedig a UICommand létrehozásánál kell megmondanunk, hogy adott gomb megnyomására milyen legyen az alkalmazás viselkedése. Az egyszerűség kedvéért mi most csak egy szövegmezőbe írjuk ki az IGEN vagy a NEM szavakat annak megfelelően, hogy a felhasználó melyikre kattintott!

MessageDialog mDialog = new MessageDialog("Figyelmeztetés!", "Alkalmazás neve");

mDialog.Commands.Add(
    new UICommand("Nem", (command) => {
        //Törzs
        txtInfo.Text = "NEM!";
    }));


mDialog.Commands.Add(
    new UICommand("Igen", (command) =>
    {
        //Törzs
        txtInfo.Text = "IGEN!";
    }));
mDialog.ShowAsync();

Reklámok
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: