Учебник по Entry в Xamarin.Forms
Прежде чем работать с этим учебником, вы должны выполнить:
- Краткое руководство Создание первого Xamarin.Forms приложения.
- Руководство по StackLayout.
В этом руководстве описано следующее:
- Создайте Xamarin.Forms
Entry
в XAML. - Отвечать на текст в изменении
Entry
. - Настраивать поведение
Entry
.
С помощью Visual Studio 2019 или Visual Studio для Mac вы создадите простое приложение, демонстрирующее, как настроить поведение Entry
. На следующих снимках экрана показано готовое приложение.
Вы также будете использовать Горячую перезагрузку XAML для Xamarin.Forms, чтобы просматривать изменения пользовательского интерфейса без перестроения приложения.
Создание Entry
Для работы с этим руководством у вас должен быть последний выпуск Visual Studio 2019 с установленной рабочей нагрузкой Разработка мобильных приложений на .NET. Кроме того, вам потребуется компьютер Mac для сборки учебного приложения на iOS. Сведения об установке платформы Xamarin см. в статье Установка Xamarin. Сведения о подключении Visual Studio 2019 к узлу сборки Mac см. в статье Связывание с Mac при разработке для Xamarin.iOS.
Запустите Visual Studio и создайте пустое приложение Xamarin.Forms с именем EntryTutorial.
Внимание
Фрагменты кода на C# и XAML из этого руководства предполагают, что решение называется EntryTutorial. Выбор другого имени приведет к ошибкам сборки при копировании кода из этого руководства в решение.
Дополнительные сведения о создаваемой библиотеке .NET Standard см. в разделе Структура приложения Xamarin.Forms статьи Подробное изучение кратких руководств по Xamarin.Forms.
В обозревателе решений дважды щелкните файл MainPage.xaml в проекте EntryTutorial, чтобы открыть его. В MainPage.xaml удалите весь код шаблона и замените его приведенным ниже кодом:
<?xml version="1.0" encoding="utf-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="EntryTutorial.MainPage"> <StackLayout Margin="20,35,20,20"> <Entry Placeholder="Enter text" /> </StackLayout> </ContentPage>
Этот код декларативно определяет пользовательский интерфейс для страницы, который состоит из
Entry
вStackLayout
. СвойствоEntry.Placeholder
определяет текст заполнителя, который отображается при первом появленииEntry
.На панели инструментов Visual Studio нажмите кнопку Пуск (треугольная кнопка, похожая на кнопку воспроизведения) для запуска приложения в выбранном удаленном симуляторе iOS или эмуляторе Android.
В Visual Studio остановите приложение.
Реагирование на изменения текста
В MainPage.xaml измените объявление
Entry
таким образом, чтобы оно установило обработчик для событийTextChanged
иCompleted
.<Entry Placeholder="Enter text" TextChanged="OnEntryTextChanged" Completed="OnEntryCompleted" />
Этот код устанавливает событие
TextChanged
для обработчика событийOnEntryTextChanged
, аCompleted
— для обработчикаOnEntryCompleted
. Оба обработчика событий будут созданы на следующем шаге.В обозревателе решений в проекте EntryTutorial разверните узел MainPage.xaml и дважды щелкните файл MainPage.xaml.cs, чтобы открыть его. Затем в файле MainPage.xaml.cs добавьте обработчики событий
OnEntryTextChanged
иOnEntryCompleted
в класс.void OnEntryTextChanged(object sender, TextChangedEventArgs e) { string oldText = e.OldTextValue; string newText = e.NewTextValue; } void OnEntryCompleted(object sender, EventArgs e) { string text = ((Entry)sender).Text; }
Если текст в
Entry
изменяется, выполняется методOnEntryTextChanged
. Аргументsender
является объектомEntry
, ответственным за запуск событияTextChanged
, и может использоваться для доступа к объектуEntry
. АргументTextChangedEventArgs
содержит старые и новые текстовые значения (до и после изменения текста).После того как текст в
Entry
завершается нажатием клавиши ВВОД, выполняется методOnEntryCompleted
. Аргументsender
является объектомEntry
, ответственным за запуск событияTextChanged
, и может использоваться для доступа к объектуEntry
.На панели инструментов Visual Studio нажмите кнопку Пуск (треугольная кнопка, похожая на кнопку воспроизведения) для запуска приложения в выбранном удаленном симуляторе iOS или эмуляторе Android.
Установите точки останова в двух обработчиках событий, введите текст в
Entry
и просмотрите запуск событийTextChanged
иCompleted
.Дополнительные сведения о событиях
Entry
см. в разделе События и интерактивность руководства Xamarin.Forms Entry.
Настройка поведения
В файле MainPage.xaml измените объявление
Entry
, чтобы настроить его поведение:<Entry Placeholder="Enter password" MaxLength="15" IsSpellCheckEnabled="false" IsTextPredictionEnabled="false" IsPassword="true" />
Этот код задает свойства, позволяющие настроить поведение
Entry
. СвойствоMaxLength
ограничивает длину входных данных, допустимую дляEntry
, а для свойстваIsSpellCheckEnabled
установлено значениеfalse
, чтобы отключить проверку орфографии. Аналогичным образом для свойстваIsTextPredictionEnabled
установлено значениеfalse
, чтобы отключить прогнозирование текста и автоматическое прогнозирование текста. Кроме того, свойствоIsPassword
гарантирует, что введенные символы скрыты символом пароля (черным кружком).Примечание.
Для некоторых сценариев ввода текста, например ввода пароля, проверка орфографии и прогнозирование текста только мешают, и их следует отключить.
Если приложение по-прежнему работает, сохраните изменения в файле, после чего пользовательский интерфейс приложения в симуляторе или эмуляторе будет автоматически обновлен. В противном случае нажмите на панели инструментов Visual Studio кнопку Запуск (треугольная кнопка, похожая на кнопку воспроизведения), чтобы запустить приложение в выбранном удаленном симуляторе iOS или эмуляторе Android. Введите текст в
Entry
и обратите внимание, что каждый символ заменяется символом маски пароля и можно ввести не более 15 символов:В Visual Studio остановите приложение.
Дополнительные сведения о настройке поведения
Entry
см. в руководстве Xamarin.Forms Entry.
Поздравляем!
Поздравляем с завершением этого учебника, где вы научились:
- Создайте Xamarin.Forms
Entry
в XAML. - Отвечать на текст в изменении
Entry
. - Настраивать поведение
Entry
.
Следующие шаги
Чтобы узнать больше об основах создания мобильных приложений с помощью Xamarin.Forms, перейдите к руководству по редактору.
Дополнительные ссылки
Возникла проблема с этим разделом? Если это так, отправьте нам отзыв, чтобы мы исправили этот раздел.