Udostępnij za pośrednictwem


Wyświetlanie wyskakujących okienek

Wyświetlanie alertu, monitowanie użytkownika o dokonanie wyboru lub wyświetlenie monitu jest typowym zadaniem interfejsu użytkownika. Interfejs użytkownika aplikacji wieloplatformowej platformy .NET (.NET MAUI) ma trzy metody w Page klasie umożliwiające interakcję z użytkownikiem za pośrednictwem wyskakującego okienka: DisplayAlert, DisplayActionSheeti DisplayPromptAsync. Wyskakujące okienka są renderowane za pomocą kontrolek natywnych na każdej platformie.

Wyświetlanie alertu

Wszystkie platformy obsługiwane przez program .NET MAUI mają wyskakujące okienko, aby otrzymywać alerty dla użytkownika lub zadawać im proste pytania. Aby wyświetlić alerty, użyj DisplayAlert metody w dowolnym Pageobiekcie . W poniższym przykładzie przedstawiono prosty komunikat dla użytkownika:

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

Screenshot of an alert dialog with one button.

Po odrzuceniu alertu użytkownik będzie nadal wchodzić w interakcję z aplikacją.

Uwaga

W systemie Android alerty można odrzucać, naciskając stronę poza alertem. Na platformach klasycznych alerty można odrzucić przy użyciu klucza ucieczki.

Metoda DisplayAlert może również służyć do przechwytywania odpowiedzi użytkownika przez przedstawienie dwóch przycisków i zwrócenie wartości bool. Aby uzyskać odpowiedź z alertu, podaj tekst dla przycisków i await metody:

bool answer = await DisplayAlert("Question?", "Would you like to play a game", "Yes", "No");
Debug.WriteLine("Answer: " + answer);

Screenshot of an alert dialog with two buttons.

Gdy użytkownik wybierze jedną z opcji, odpowiedź zostanie zwrócona jako bool.

Metoda DisplayAlert ma również przeciążenia, które akceptują FlowDirection argument określający kierunek przepływu elementów interfejsu użytkownika w ramach alertu. Aby uzyskać więcej informacji na temat kierunku przepływu, zobacz Lokalizacja od prawej do lewej.

Ostrzeżenie

Domyślnie w systemie Windows po wyświetleniu alertu wszystkie klucze dostępu zdefiniowane na stronie za alertem mogą być nadal aktywowane. Aby uzyskać więcej informacji, zobacz VisualElement access keys on Windows (Klucze dostępu VisualElement w systemie Windows).

Przewodnik użytkowników za pomocą zadań

Arkusz akcji przedstawia użytkownikowi zestaw alternatywnych sposobów wykonywania zadania. Aby wyświetlić arkusz akcji, użyj DisplayActionSheet metody w dowolnym Pageobiekcie , przekazując etykiety komunikatów i przycisków jako ciągi:

string action = await DisplayActionSheet("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
Debug.WriteLine("Action: " + action);

Screenshot of an action sheet dialog.

Gdy użytkownik naciągnie jeden z przycisków, etykieta przycisku zostanie zwrócona jako string.

Uwaga

Arkusze akcji można odrzucić na platformach dotykowych i Mac Catalyst, naciskając stronę poza arkuszem akcji. W systemie Windows arkusze akcji można odrzucić za pomocą klucza ucieczki i klikając stronę poza arkuszem akcji.

Arkusze akcji obsługują również przycisk zniszczeń, który jest przyciskiem reprezentującym destrukcyjne zachowanie. Przycisk destroy można określić jako trzeci argument DisplayActionSheet ciągu do metody lub można pozostawić null. W poniższym przykładzie określono przycisk zniszczeń:

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

Screenshot of an action sheet with a destroy button.

Uwaga

W systemie iOS przycisk destroy jest renderowany inaczej niż inne przyciski w arkuszu akcji.

Metoda DisplayActionSheet ma również przeciążenie, które akceptuje FlowDirection argument określający kierunek przepływu elementów interfejsu użytkownika w arkuszu akcji. Aby uzyskać więcej informacji na temat kierunku przepływu, zobacz Lokalizacja od prawej do lewej.

Wyświetlanie monitu

Aby wyświetlić monit, wywołaj element DisplayPromptAsync w dowolnym Pageobiekcie , przekazując tytuł i komunikat jako string argumenty:

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

Screenshot of a prompt.

Jeśli przycisk OK zostanie naciśnięty, wprowadzona odpowiedź zostanie zwrócona jako string. Jeśli przycisk Anuluj zostanie naciśnięty, null zostanie zwrócony.

Uwaga

W systemie Android monity można odrzucić, naciskając stronę poza alertem. Na platformach klasycznych monity można odrzucić za pomocą klucza ucieczki.

Pełna lista argumentów dla DisplayPromptAsync metody to:

  • title, typu string, to tytuł do wyświetlenia w wierszu polecenia.
  • message, typu string, to komunikat wyświetlany w wierszu polecenia.
  • accept, typu string, to tekst przycisku akceptowania. Jest to opcjonalny argument, którego wartość domyślna to OK.
  • cancel, typu string, to tekst przycisku anulowania. Jest to opcjonalny argument, którego wartość domyślna to Anuluj.
  • placeholder, typu string, jest tekstem zastępczym wyświetlanym w wierszu polecenia. Jest to opcjonalny argument, którego wartością domyślną jest null.
  • maxLength, typu int, jest maksymalną długością odpowiedzi użytkownika. Jest to opcjonalny argument, którego wartość domyślna to -1.
  • keyboard, typu , to typ Keyboardklawiatury, który ma być używany dla odpowiedzi użytkownika. Jest to opcjonalny argument, którego wartością domyślną jest Keyboard.Default.
  • initialValue, typu string, to wstępnie zdefiniowana odpowiedź, która będzie wyświetlana i którą można edytować. Jest to opcjonalny argument, którego wartość domyślna jest pusta string.

W poniższym przykładzie pokazano ustawienie niektórych opcjonalnych argumentów:

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

Ten kod wyświetla wstępnie zdefiniowaną odpowiedź 10, ogranicza liczbę znaków, które mogą być wprowadzane do 2, i wyświetla klawiaturę liczbową dla danych wejściowych użytkownika:

Screenshot of an optional prompt.

Ostrzeżenie

Domyślnie w systemie Windows po wyświetleniu monitu wszystkie klucze dostępu zdefiniowane na stronie monitu mogą być nadal aktywowane. Aby uzyskać więcej informacji, zobacz VisualElement access keys on Windows (Klucze dostępu VisualElement w systemie Windows).

Wyświetlanie strony jako wyskakującego okienka

Program .NET MAUI obsługuje modalne nawigacje po stronach. Modalna strona zachęca użytkowników do ukończenia samodzielnego zadania, z którego nie można przechodzić, dopóki zadanie nie zostanie ukończone lub anulowane. Aby na przykład wyświetlić formularz jako wyskakujące okienko, które wymaga od użytkowników wprowadzenia wielu fragmentów danych, utwórz ContentPage element zawierający interfejs użytkownika formularza, a następnie wypchnij go do stosu nawigacji jako strony modalnej. Aby uzyskać więcej informacji, zobacz Wykonywanie nawigacji modalnej.