Zobrazení automaticky otevíraných oken

Download Sample Stažení ukázky

Zobrazení výstrahy, dotazování uživatele na volbu nebo zobrazení výzvy představuje běžnou úlohu uživatelského rozhraní. Xamarin.Forms má ve třídě tři metody Page pro interakci s uživatelem prostřednictvím automaticky otevíraných oken: DisplayAlert, DisplayActionSheeta DisplayPromptAsync. Vykreslí se s příslušnými nativními ovládacími prvky na každé platformě.

Zobrazit výstrahu

Všechny Xamarin.Formspodporované platformy mají modální automaticky otevírané okno pro upozorňování uživatele nebo kladení jednoduchých otázek. Chcete-li tyto výstrahy Xamarin.Formszobrazit , použijte metodu DisplayAlert na libovolném Page. Následující řádek kódu zobrazuje uživateli jednoduchou zprávu:

await DisplayAlert ("Alert", "You have been alerted", "OK");

Alert dialog with one button, on iOS and Android

Tento příklad neshromažďuje informace od uživatele. Výstraha se zobrazí modálně a po zavření uživatel pokračuje v interakci s aplikací.

Metodu DisplayAlert lze také použít k zachycení odpovědi uživatele tím, že prezentuje dvě tlačítka a vrátí .boolean Pokud chcete získat odpověď z výstrahy, zadejte text pro tlačítka i await metodu. Jakmile uživatel vybere jednu z možností, vrátí se odpověď do vašeho kódu. async Poznamenejte si následující vzorový kód a await klíčová slova:

async void OnAlertYesNoClicked (object sender, EventArgs e)
{
  bool answer = await DisplayAlert ("Question?", "Would you like to play a game", "Yes", "No");
  Debug.WriteLine ("Answer: " + answer);
}

Alert dialog with two buttons

Metoda DisplayAlert má také přetížení, které přijímají FlowDirection argument, který určuje směr, ve kterém prvky uživatelského rozhraní proudí v rámci výstrahy. Další informace o směru toku najdete v tématu Lokalizace zprava doleva.

Upozorňující

Ve výchozím nastavení v UPW se v případě, že se v upozornění zobrazí všechny přístupové klíče, které jsou definované na stránce za výstrahou, je stále možné aktivovat. Další informace najdete v tématu Přístupové klíče visualElement ve Windows.

Průvodce uživateli úkoly

UIActionSheet je běžný prvek uživatelského rozhraní v iOSu. Tato Xamarin.FormsDisplayActionSheet metoda umožňuje zahrnout tento ovládací prvek do aplikací pro různé platformy, vykreslování nativních alternativ v Androidu a UPW.

Pokud chcete zobrazit list akcí, awaitDisplayActionSheet v libovolném Pagepřípadě předáte popisky zpráv a tlačítek jako řetězce. Metoda vrátí popisek řetězce tlačítka, na které uživatel klikl. Tady je jednoduchý příklad:

async void OnActionSheetSimpleClicked (object sender, EventArgs e)
{
  string action = await DisplayActionSheet ("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
  Debug.WriteLine ("Action: " + action);
}

ActionSheet dialog, on iOS and Android

Tlačítko destroy se vykreslí jinak než ostatní tlačítka v iOSu a lze ho nechat null nebo zadat jako třetí řetězcový parametr. Následující příklad používá destroy tlačítko:

async void OnActionSheetCancelDeleteClicked (object sender, EventArgs e)
{
  string action = await DisplayActionSheet ("ActionSheet: SavePhoto?", "Cancel", "Delete", "Photo Roll", "Email");
  Debug.WriteLine ("Action: " + action);
}

ActionSheet dialog with destroy button, on iOS and Android

Metoda DisplayActionSheet má také přetížení, které přijímá FlowDirection argument, který určuje směr, ve kterém prvky uživatelského rozhraní proudí v seznamu akcí. Další informace o směru toku najdete v tématu Lokalizace zprava doleva.

Zobrazení výzvy

Pokud chcete zobrazit výzvu, zavolejte v libovolném Pagevolání DisplayPromptAsync názvu a zprávy jako string argumenty:

string result = await DisplayPromptAsync("Question 1", "What's your name?");

Výzva se zobrazí modálně:

Screenshot of a modal prompt, on iOS and Android

Pokud je tlačítko OK klepnutí, zadaná odpověď se vrátí jako string. Pokud je na tlačítko Storno klepnutí, null vrátí se.

Úplný seznam argumentů pro metodu DisplayPromptAsync je:

  • title, typu string, je název, který se má zobrazit v příkazovém řádku.
  • message, typu string, je zpráva, která se má zobrazit ve výzvě.
  • accept, typu string, je text tlačítka Přijmout. Jedná se o volitelný argument, jehož výchozí hodnota je OK.
  • cancel, typu string, je text tlačítka zrušit. Jedná se o volitelný argument, jehož výchozí hodnota je Cancel.
  • placeholder, typu string, je zástupný text, který se má zobrazit v příkazovém řádku. Jedná se o volitelný argument, jehož výchozí hodnota je null.
  • maxLength, typu int, je maximální délka odpovědi uživatele. Jedná se o volitelný argument, jehož výchozí hodnota je -1.
  • keyboard, typu Keyboard, je typ klávesnice, který se má použít pro odpověď uživatele. Jedná se o volitelný argument, jehož výchozí hodnota je Keyboard.Default.
  • initialValue, typu string, je předem definovaná odpověď, která se zobrazí a kterou lze upravit. Jedná se o volitelný argument, jehož výchozí hodnota je prázdná string.

Následující příklad ukazuje nastavení některých volitelných argumentů:

string result = await DisplayPromptAsync("Question 2", "What's 5 + 5?", initialValue: "10", maxLength: 2, keyboard: Keyboard.Numeric);

Tento kód zobrazí předdefinovanou odpověď 10, omezí počet znaků, které lze zadat na 2, a zobrazí číselnou klávesnici pro uživatelský vstup:

Screenshot of an optional modal prompt, on iOS and Android

Upozorňující

Ve výchozím nastavení v UPW se při zobrazení výzvy zobrazí všechny přístupové klíče, které jsou definované na stránce za výzvou, je stále možné aktivovat. Další informace najdete v tématu Přístupové klíče visualElement ve Windows.