Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отображение оповещения, запрос пользователя на выбор или отображение запроса является обычной задачей пользовательского интерфейса. Многоплатформенный пользовательский интерфейс приложений .NET (.NET MAUI) содержит три метода класса Page для взаимодействия с пользователем через окно всплывающих сообщений: DisplayAlert, DisplayActionSheet, и DisplayPromptAsync. Всплывающие окна отображаются с помощью собственных элементов управления на каждой платформе.
Отображение оповещения
Во всех поддерживаемых платформах .NET MAUI появится всплывающее окно, чтобы предупредить пользователя или задать простые вопросы о них. Чтобы отображать оповещения, используйте метод DisplayAlert на любом Page. В следующем примере показано простое сообщение пользователю:
await DisplayAlert("Alert", "You have been alerted", "OK");
После закрытия оповещения пользователь продолжает взаимодействовать с приложением.
Замечание
В Android оповещения можно закрыть, нажав на страницу за пределами оповещения. На настольных платформах оповещения можно закрыть с помощью escape-ключа.
Этот DisplayAlert метод также можно использовать для записи ответа пользователя, указав две кнопки и возвращая ответ bool
. Чтобы получить ответ от оповещения, укажите текст для обеих кнопок и метод await
.
bool answer = await DisplayAlert("Question?", "Would you like to play a game", "Yes", "No");
Debug.WriteLine("Answer: " + answer);
После выбора одного из параметров ответ будет возвращен в качестве bool
параметра.
Метод DisplayAlert также имеет перегрузки, которые принимают аргумент, указывающий FlowDirection
направление потока элементов пользовательского интерфейса в оповещении. Дополнительные сведения о направлении потока см. в разделе "Справа налево".
Предупреждение
По умолчанию в Windows при отображении оповещений все ключи доступа, определенные на странице с оповещением, по-прежнему могут быть активированы. Дополнительные сведения см. в разделе "Ключи доступа VisualElement" в Windows.
Руководство пользователей с помощью задач
Лист действий предоставляет пользователю набор альтернативных вариантов для продолжения выполнения задачи. Чтобы отобразить лист действий, используйте DisplayActionSheet метод для любого Page, передавая метки сообщения и кнопки в виде строк:
string action = await DisplayActionSheet("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
Debug.WriteLine("Action: " + action);
После того как пользователь нажмет одну из кнопок, метка кнопки будет возвращена как string
.
Замечание
Листы действий можно закрыть на сенсорных платформах и Mac Catalyst, нажав на страницу за пределами листа действий. В Windows листы действий можно закрыть с помощью клавиши Esc или щелкнув за пределами листа действий.
Листы действий также поддерживают кнопку уничтожения, которая представляет разрушительное поведение. Кнопка уничтожения может быть указана в качестве третьего аргумента строки в методе или может быть оставлена DisplayActionSheetnull
. В следующем примере указывается кнопка уничтожения:
async void OnActionSheetCancelDeleteClicked(object sender, EventArgs e)
{
string action = await DisplayActionSheet("ActionSheet: SavePhoto?", "Cancel", "Delete", "Photo Roll", "Email");
Debug.WriteLine("Action: " + action);
}
Замечание
В iOS кнопка удаления отображается иначе, чем другие кнопки в экшн-листе.
Метод DisplayActionSheet также имеет перегрузку, которая принимает FlowDirection
аргумент, указывающий направление потока элементов пользовательского интерфейса в листе действий. Дополнительные сведения о направлении потока см. в разделе "Справа налево".
Отображение оповещения, запрос пользователя на выбор или отображение запроса является обычной задачей пользовательского интерфейса. Многоплатформенный пользовательский интерфейс приложений .NET (.NET MAUI) содержит три метода в классе Page для взаимодействия с пользователем с помощью всплывающего окна: DisplayAlertAsync, DisplayActionSheetAsync и DisplayPromptAsync. Всплывающие окна отображаются с помощью собственных элементов управления на каждой платформе.
Отображение оповещения
Во всех поддерживаемых платформах .NET MAUI появится всплывающее окно, чтобы предупредить пользователя или задать простые вопросы о них. Для отображения оповещений используйте метод DisplayAlertAsync на любом Page. В следующем примере показано простое сообщение пользователю:
await DisplayAlertAsync("Alert", "You have been alerted", "OK");
После закрытия оповещения пользователь продолжает взаимодействовать с приложением.
Замечание
В Android оповещения можно закрыть, нажав на страницу за пределами оповещения. На настольных платформах оповещения можно закрыть с помощью escape-ключа.
Этот DisplayAlertAsync метод также можно использовать для записи ответа пользователя, указав две кнопки и возвращая ответ bool
. Чтобы получить ответ от оповещения, укажите текст для кнопок и await
метода:
bool answer = await DisplayAlertAsync("Question?", "Would you like to play a game", "Yes", "No");
Debug.WriteLine("Answer: " + answer);
После выбора одного из параметров ответ будет возвращен в качестве bool
параметра.
Метод DisplayAlertAsync также имеет перегрузки, которые принимают аргумент, указывающий FlowDirection
направление потока элементов пользовательского интерфейса в оповещении. Дополнительные сведения о направлении потока см. в разделе "Справа налево".
Предупреждение
По умолчанию в Windows при отображении оповещений все ключи доступа, определенные на странице с оповещением, по-прежнему могут быть активированы. Дополнительные сведения см. в разделе "Ключи доступа VisualElement" в Windows.
Помогать пользователям выполнять задачи
Лист действий предоставляет пользователю набор альтернативных вариантов для продолжения выполнения задачи. Чтобы отобразить лист действий, используйте DisplayActionSheetAsync метод для любого Page, передавая метки сообщения и кнопки в виде строк:
string action = await DisplayActionSheetAsync("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
Debug.WriteLine("Action: " + action);
После того как пользователь нажмет одну из кнопок, метка кнопки будет возвращена в виде string
.
Замечание
Листы действий можно закрыть на сенсорных платформах и Mac Catalyst, нажав на страницу за пределами листа действий. В Windows листы действий можно закрыть с помощью клавиши Escape и щелчком мыши за пределами листа действий.
Листы действий также поддерживают кнопку уничтожения, которая представляет разрушительное поведение. Кнопка уничтожения может быть указана в качестве третьего аргумента строки в методе или может быть оставлена DisplayActionSheetAsyncnull
. В следующем примере указывается кнопка уничтожения:
async void OnActionSheetCancelDeleteClicked(object sender, EventArgs e)
{
string action = await DisplayActionSheetAsync("ActionSheet: SavePhoto?", "Cancel", "Delete", "Photo Roll", "Email");
Debug.WriteLine("Action: " + action);
}
Замечание
В iOS кнопка удаления выгляди по-другому, чем другие кнопки в панели действий.
Метод DisplayActionSheetAsync также имеет перегрузку, которая принимает FlowDirection
аргумент, указывающий направление потока элементов пользовательского интерфейса в листе действий. Дополнительные сведения о направлении потока см. в разделе "Справа налево".
Отобразить запрос
Чтобы отобразить запрос, вызовите DisplayPromptAsync на любом Page, передав заголовок и сообщение как аргументы string
.
string result = await DisplayPromptAsync("Question 1", "What's your name?");
Если нажата кнопка "ОК", введенный ответ возвращается как string
. Если нажата кнопка "Отмена", возвращается null
.
Замечание
В Android запросы можно закрыть, нажав на страницу вне оповещения. На настольных платформах запросы можно закрыть с помощью escape-ключа.
Полный список аргументов DisplayPromptAsync для метода:
-
title
( типstring
) — это заголовок, отображаемый в запросе. -
message
(типstring
) — это сообщение, отображаемое в запросе. -
accept
( типstring
) — это текст для кнопки "Принять". Это необязательный аргумент, значение по умолчанию которого — ОК. -
cancel
( типstring
) — это текст для кнопки отмены. Это необязательный аргумент, значение по умолчанию которого — Cancel. -
placeholder
( типstring
) — это замещающий текст, отображаемый в запросе. Это необязательный аргумент, значение по умолчанию которого равноnull
. -
maxLength
, типint
, определяет максимальную длину ответа пользователя. Это необязательный аргумент, значение по умолчанию которого равно -1. -
keyboard
( типKeyboard
) — это тип клавиатуры, используемый для ответа пользователя. Это необязательный аргумент, значение по умолчанию которого равноKeyboard.Default
. -
initialValue
string
тип представляет собой предопределенный ответ, который будет отображаться и может быть изменен. Это необязательный аргумент, значение по умолчанию которого является пустымstring
.
В следующем примере показано задание некоторых необязательных аргументов:
string result = await DisplayPromptAsync("Question 2", "What's 5 + 5?", initialValue: "10", maxLength: 2, keyboard: Keyboard.Numeric);
Этот код отображает предопределенный ответ 10, ограничивает количество символов, которые могут быть входными значениями 2, и отображает числовую клавиатуру для ввода пользователем:
Предупреждение
По умолчанию в Windows при отображении запроса все ключи доступа, определенные на странице с запросом, по-прежнему могут быть активированы. Дополнительные сведения см. в разделе "Ключи доступа VisualElement" в Windows.
Отображение страницы в виде всплывающего окна
.NET MAUI поддерживает модальную навигацию по страницам. Модальная страница призывает пользователей завершить автономную задачу, которая не может быть удалена, пока задача не будет завершена или отменена. Например, чтобы отобразить форму в виде всплывающего окна, требующего от пользователей вводить несколько фрагментов данных, создайте ContentPage элемент, содержащий пользовательский интерфейс для формы, а затем отправьте его в стек навигации в виде модальной страницы. Дополнительные сведения см. в разделе Выполнение модальной навигации.