Compartilhar via


Exibir pop-ups

Exibir um alerta, pedir a um usuário para fazer uma escolha ou exibir um prompt é uma tarefa comum da interface do usuário. A interface do usuário do Page aplicativo multiplataforma .NET (.NET MAUI) tem três métodos na classe para interagir com o usuário por meio de um pop-up: DisplayAlert, DisplayActionSheete DisplayPromptAsync. Os pop-ups são renderizados com controles nativos em cada plataforma.

Exibir um alerta

Todas as plataformas suportadas pelo .NET MAUI têm um pop-up para alertar o usuário ou fazer perguntas simples sobre ele. Para exibir alertas, use o DisplayAlert método em qualquer Pagearquivo . O exemplo a seguir mostra uma mensagem simples para o usuário:

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

Screenshot of an alert dialog with one button.

Depois que o alerta é descartado, o usuário continua interagindo com o aplicativo.

Observação

No Android, os alertas podem ser descartados tocando na página fora do alerta. Em plataformas de desktop, os alertas podem ser descartados com a tecla de escape.

O método DisplayAlert também pode ser usado para capturar a resposta do usuário apresentando dois botões e retornando um bool. Para obter uma resposta de um alerta, forneça texto para ambos os botões e await o método:

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.

Depois que o usuário selecionar uma das opções, a resposta será retornada como um boolarquivo .

O DisplayAlert método também tem sobrecargas que aceitam um FlowDirection argumento que especifica a direção na qual os elementos da interface do usuário fluem dentro do alerta. Para obter mais informações sobre a direção do fluxo, consulte Localização da direita para a esquerda.

Aviso

Por padrão, no Windows, quando um alerta é exibido, todas as chaves de acesso definidas na página atrás do alerta ainda podem ser ativadas. Para obter mais informações, consulte Chaves de acesso VisualElement no Windows.

Orientar os usuários através de tarefas

Uma folha de ação apresenta ao usuário um conjunto de alternativas de como prosseguir com uma tarefa. Para exibir uma folha de ação, use o DisplayActionSheet método em qualquer Page, passando os rótulos de mensagem e botão como cadeias de caracteres:

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

Screenshot of an action sheet dialog.

Depois que o usuário tocar em um dos botões, o rótulo do botão será retornado como um stringarquivo .

Observação

As folhas de ação podem ser descartadas em plataformas de toque e no Mac Catalyst, tocando na página fora da folha de ação. No Windows, as folhas de ação podem ser descartadas com a tecla de escape e clicando na página fora da folha de ações.

As folhas de ação também suportam um botão de destruição, que é um botão que representa o comportamento destrutivo. O botão destruir pode ser especificado como o terceiro argumento de cadeia de caracteres para o DisplayActionSheet método, ou pode ser deixado null. O exemplo a seguir especifica um botão de destruição:

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.

Observação

No iOS, o botão destruir é renderizado de forma diferente dos outros botões na folha de ações.

O DisplayActionSheet método também tem uma sobrecarga que aceita um FlowDirection argumento que especifica a direção na qual os elementos da interface do usuário fluem dentro da folha de ação. Para obter mais informações sobre a direção do fluxo, consulte Localização da direita para a esquerda.

exibir um prompt

Para exibir um prompt, chame o DisplayPromptAsync em qualquer Page, passando um título e uma mensagem como string argumentos:

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

Screenshot of a prompt.

Se o botão OK for tocado, a resposta inserida será retornada como um stringarquivo . Se o botão Cancelar for tocado, null será retornado.

Observação

No Android, os prompts podem ser descartados tocando na página fora do alerta. Em plataformas de desktop, os prompts podem ser descartados com a tecla de escape.

A lista completa de argumentos para o DisplayPromptAsync método é:

  • title, do tipo string, é o título a ser exibido no prompt.
  • message, do tipo string, é a mensagem a ser exibida no prompt.
  • accept, do tipo string, é o texto do botão aceitar. Este é um argumento opcional, cujo valor padrão é OK.
  • cancel, do tipo string, é o texto do botão cancelar. Este é um argumento opcional, cujo valor padrão é Cancel.
  • placeholder, do tipo string, é o texto do espaço reservado a ser exibido no prompt. Este é um argumento opcional, cujo valor padrão é null.
  • maxLength, do tipo int, é o comprimento máximo da resposta do usuário. Este é um argumento opcional, cujo valor padrão é -1.
  • keyboard, do tipo , é o tipo Keyboardde teclado a ser usado para a resposta do usuário. Este é um argumento opcional, cujo valor padrão é Keyboard.Default.
  • initialValue, do tipo string, é uma resposta predefinida que será exibida e que pode ser editada. Este é um argumento opcional, cujo valor padrão é um vazio string.

O exemplo a seguir mostra a configuração de alguns dos argumentos opcionais:

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

Esse código exibe uma resposta predefinida de 10, limita o número de caracteres que podem ser inseridos a 2 e exibe o teclado numérico para entrada do usuário:

Screenshot of an optional prompt.

Aviso

Por padrão, no Windows, quando um prompt é exibido, todas as chaves de acesso definidas na página atrás do prompt ainda podem ser ativadas. Para obter mais informações, consulte Chaves de acesso VisualElement no Windows.

Exibir uma página como um pop-up

O .NET MAUI oferece suporte à navegação de página modal. Uma página modal incentiva os usuários a concluir uma tarefa independente que não pode ser navegada até que a tarefa seja concluída ou cancelada. Por exemplo, para exibir um formulário como um pop-up que exige que os usuários insiram várias partes de dados, crie um ContentPage que contenha a interface do usuário para o formulário e, em seguida, envie-o para a pilha de navegação como uma página modal. Para obter mais informações, consulte Executar navegação modal.