Zobrazení automaticky otevíraných oken
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
, DisplayActionSheet
a 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");
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);
}
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í, await
DisplayActionSheet
v libovolném Page
pří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);
}
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);
}
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 Page
volá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ě:
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
, typustring
, je název, který se má zobrazit v příkazovém řádku.message
, typustring
, je zpráva, která se má zobrazit ve výzvě.accept
, typustring
, je text tlačítka Přijmout. Jedná se o volitelný argument, jehož výchozí hodnota je OK.cancel
, typustring
, je text tlačítka zrušit. Jedná se o volitelný argument, jehož výchozí hodnota je Cancel.placeholder
, typustring
, je zástupný text, který se má zobrazit v příkazovém řádku. Jedná se o volitelný argument, jehož výchozí hodnota jenull
.maxLength
, typuint
, je maximální délka odpovědi uživatele. Jedná se o volitelný argument, jehož výchozí hodnota je -1.keyboard
, typuKeyboard
, je typ klávesnice, který se má použít pro odpověď uživatele. Jedná se o volitelný argument, jehož výchozí hodnota jeKeyboard.Default
.initialValue
, typustring
, 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:
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.