Anzeigen von Popupelementen

Beispiel herunterladen Das Beispiel herunterladen

Das Anzeigen einer Warnung, die Aufforderung zum Treffen einer Auswahl oder das Anzeigen einer Eingabeaufforderung ist eine häufige Aufgabe der Benutzeroberfläche. Xamarin.Forms verfügt über drei Methoden für die Page -Klasse für die Interaktion mit dem Benutzer über ein Popup: DisplayAlert, DisplayActionSheetund DisplayPromptAsync. Sie werden auf jeder Plattform mit entsprechenden nativen Steuerelementen gerendert.

Anzeigen einer Warnung

Alle Xamarin.Formsunterstützten Plattformen verfügen über ein modales Popup, um den Benutzer zu benachrichtigen oder einfache Fragen zu stellen. Um diese Warnungen in Xamarin.Formsanzuzeigen, verwenden Sie die DisplayAlert -Methode für alle Page. Mit der folgenden Codezeile wird dem Benutzer eine einfache Meldung angezeigt:

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

Warnungsdialogfeld mit einer Schaltfläche unter iOS und Android

In diesem Beispiel werden keine Informationen des Benutzers erfasst. Die Warnung wird modal angezeigt und geschlossen, sobald der Benutzer erneut mit der Anwendung interagiert.

Mithilfe der DisplayAlert-Methode kann die Antwort des Benutzers erfasst werden, indem zwei Schaltflächen angezeigt werden und ein boolean-Wert zurückgegeben wird. Geben Sie Text für beide Schaltflächen und await für die Methode an, um eine Antwort von einer Warnung zu erhalten. Wenn der Benutzer eine der Optionen auswählt, wird die Antwort an Ihren Code zurückgegeben. Beachten Sie die Schlüsselwörter async und await im folgenden Beispielcode:

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);
}

Dialogfeld

Die DisplayAlert -Methode verfügt auch über Überladungen, die ein FlowDirection Argument akzeptieren, das die Richtung angibt, in der UI-Elemente innerhalb der Warnung fließen. Weitere Informationen zur Flussrichtung finden Sie unter Lokalisierung von rechts nach links.

Warnung

Standardmäßig können auf UWP, wenn eine Warnung angezeigt wird, weiterhin alle Zugriffsschlüssel aktiviert werden, die auf der Seite hinter der Warnung definiert sind. Weitere Informationen finden Sie unter VisualElement-Zugriffsschlüssel unter Windows.

Benutzer durch Aufgaben führen

UIActionSheet ist ein allgemeines Benutzeroberflächenelement unter iOS. Mit Xamarin.FormsDisplayActionSheet der -Methode können Sie dieses Steuerelement in plattformübergreifende Apps einschließen und native Alternativen in Android und UWP rendern.

Mit awaitDisplayActionSheet in einem beliebigen Page-Element werden die Bezeichnungen für die Nachricht und die Schaltfläche als Zeichenfolge übergeben, um ein Aktionsblatt anzuzeigen. Die Methode gibt die Bezeichnung der Zeichenfolge für die Schaltfläche zurück, auf die der Benutzer getippt hat. Hier ist ein einfaches Beispiel:

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

Dialogfeld

Die destroy Schaltfläche wird anders als die anderen Schaltflächen unter iOS gerendert und kann als dritter Zeichenfolgenparameter belassen null oder angegeben werden. Im folgenden Beispiel wird die destroy-Schaltfläche verwendet:

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

Dialogfeld

Die DisplayActionSheet -Methode verfügt auch über eine Überladung, die ein FlowDirection Argument akzeptiert, das die Richtung angibt, in der UI-Elemente innerhalb des Aktionsblatts fließen. Weitere Informationen zur Flussrichtung finden Sie unter Lokalisierung von rechts nach links.

Anzeigen einer Eingabeaufforderung

Um eine Eingabeaufforderung anzuzeigen, rufen Sie in DisplayPromptAsync beliebiger Pageauf, und übergeben Sie einen Titel und eine Nachricht als string Argumente:

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

Die Eingabeaufforderung wird modal angezeigt:

Screenshot einer modale Eingabeaufforderung in iOS- und

Wenn auf die Schaltfläche OK getippt wird, wird die eingegebene Antwort als stringzurückgegeben. Wenn auf die Schaltfläche Abbrechen getippt wird, null wird zurückgegeben.

Die vollständige Argumentliste für die DisplayPromptAsync -Methode lautet:

  • titlevom Typ stringist der Titel, der in der Eingabeaufforderung angezeigt werden soll.
  • messagevom Typ stringist die Meldung, die in der Eingabeaufforderung angezeigt werden soll.
  • acceptvom Typ stringist der Text für die Schaltfläche akzeptieren. Dies ist ein optionales Argument, dessen Standardwert OK ist.
  • cancelvom Typ stringist der Text für die Abbrechen-Schaltfläche. Dies ist ein optionales Argument, dessen Standardwert Cancel ist.
  • placeholdervom Typ stringist der Platzhaltertext, der in der Eingabeaufforderung angezeigt werden soll. Dies ist ein optionales Argument, dessen Standardwert ist null.
  • maxLengthvom Typ intist die maximale Länge der Benutzerantwort. Dies ist ein optionales Argument, dessen Standardwert -1 ist.
  • keyboardvom Typ Keyboardist der Tastaturtyp, der für die Benutzerantwort verwendet werden soll. Dies ist ein optionales Argument, dessen Standardwert ist Keyboard.Default.
  • initialValuevom Typ stringist eine vordefinierte Antwort, die angezeigt wird und bearbeitet werden kann. Dies ist ein optionales Argument, dessen Standardwert ein leerer stringist.

Das folgende Beispiel zeigt das Festlegen einiger optionaler Argumente:

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

Dieser Code zeigt eine vordefinierte Antwort von 10 an, begrenzt die Anzahl der Zeichen, die eingegeben werden können, auf 2 und zeigt die numerische Tastatur für Benutzereingaben an:

Screenshot einer optionalen modale Eingabeaufforderung unter iOS und Android

Warnung

Standardmäßig können auf UWP, wenn eine Eingabeaufforderung angezeigt wird, alle Zugriffsschlüssel aktiviert werden, die auf der Seite hinter der Eingabeaufforderung definiert sind. Weitere Informationen finden Sie unter VisualElement-Zugriffsschlüssel unter Windows.