Xamarin.Forms Esercitazione di immissione
Prima di provare questa esercitazione è necessario avere completato correttamente:
- Creare la prima Xamarin.Forms guida introduttiva all'app .
- Esercitazione su StackLayout.
In questa esercitazione apprenderai a:
- Creare un Xamarin.Forms
Entry
oggetto in XAML. - Rispondere al cambiamento del testo dell'elemento
Entry
. - Personalizzare il comportamento di
Entry
.
Si userà Visual Studio 2019 o Visual Studio per Mac per creare un'applicazione semplice che dimostri come personalizzare il comportamento di un oggetto Entry
. Gli screenshot seguenti illustrano l'applicazione finale:
Userai anche Ricaricamento rapido XAML per Xamarin.Forms visualizzare le modifiche dell'interfaccia utente senza ricompilare l'applicazione.
Crea una voce
Per completare questa esercitazione è necessario Visual Studio 2019 (la versione più recente) con installato il carico di lavoro Sviluppo di applicazioni per dispositivi mobili con .NET. È inoltre necessario un Mac associato per compilare l'applicazione dell'esercitazione per iOS. Per informazioni sull'installazione della piattaforma Xamarin, vedere Installazione di Xamarin. Per informazioni sulla connessione di Visual Studio 2019 a un host di compilazione Mac, vedere Associa a Mac per lo sviluppo di Xamarin.iOS.
Avviare Visual Studio e creare una nuova app vuota Xamarin.Forms denominata EntryTutorial.
Importante
I frammenti di codice C# e XAML in questa esercitazione richiedono che la soluzione sia denominata EntryTutorial. Se si usa un nome diverso, si verificheranno errori di compilazione quando si copia il codice da questa esercitazione alla soluzione.
Per altre informazioni sulla libreria .NET Standard che viene creata, vedere Anatomia di un'applicazione Xamarin.Forms nell'approfondimento della Xamarin.Forms guida introduttiva.
Fare doppio clic su MainPage.xaml nel progetto EntryTutorial in Esplora soluzioni per aprire il file. In MainPage.xaml rimuovere tutto il codice del modello e sostituirlo con il codice seguente:
<?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>
Questo codice definisce in modo dichiarativo l'interfaccia utente per la pagina costituita da un elemento
Entry
in unoStackLayout
. La proprietàEntry.Placeholder
specifica il testo segnaposto mostrato alla prima visualizzazione diEntry
.Nella barra degli strumenti di Visual Studio premere il pulsante Avvia, ovvero il pulsante a forma di triangolo simile a un pulsante di riproduzione, per avviare l'applicazione all'interno del simulatore iOS remoto o dell'emulatore Android prescelto:
In Visual Studio arrestare l'applicazione.
Rispondere alle modifiche di testo
In MainPage.XAML modificare la dichiarazione
Entry
in modo che imposti un gestore per gli eventiTextChanged
eCompleted
:<Entry Placeholder="Enter text" TextChanged="OnEntryTextChanged" Completed="OnEntryCompleted" />
Questo codice imposta l'evento
TextChanged
su un gestore eventi denominatoOnEntryTextChanged
e l'eventoCompleted
su un gestore eventi denominatoOnEntryCompleted
. Entrambi i gestori eventi verranno creati nel passaggio successivo.In Esplora soluzioni espandere MainPage.xaml nel progetto EntryTutorial e fare doppio clic su MainPage.xaml.cs per aprirlo. In MainPage.xaml.cs aggiungere i gestori eventi
OnEntryTextChanged
eOnEntryCompleted
alla classe: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; }
Quando il testo in
Entry
cambia, viene eseguito il metodoOnEntryTextChanged
. L'argomentosender
è l'oggettoEntry
responsabile dell'attivazione dell'eventoTextChanged
e può essere usato per accedere all'oggettoEntry
. L'argomentoTextChangedEventArgs
fornisce i valori del testo nuovo e di quello precedente, prima e dopo la modifica del testo.Quando si finalizza il testo in
Entry
con il tasto INVIO, viene eseguito il metodoOnEntryCompleted
. L'argomentosender
è l'oggettoEntry
responsabile dell'attivazione dell'eventoTextChanged
e può essere usato per accedere all'oggettoEntry
.Nella barra degli strumenti di Visual Studio premere il pulsante Avvia, ovvero il pulsante a forma di triangolo simile a un pulsante di riproduzione, per avviare l'applicazione all'interno del simulatore iOS remoto o dell'emulatore Android prescelto:
Impostare i punti di interruzione nei due gestori di eventi e immettere il testo in
Entry
e osservare la generazione degli eventiTextChanged
eCompleted
.Per altre informazioni sugli
Entry
eventi, vedere Eventi e interattività nella Xamarin.Forms Guida alla voce .
Personalizzare il comportamento
In MainPage.xaml modificare la dichiarazione
Entry
per personalizzarne il comportamento:<Entry Placeholder="Enter password" MaxLength="15" IsSpellCheckEnabled="false" IsTextPredictionEnabled="false" IsPassword="true" />
Questo codice imposta le proprietà che personalizzano il comportamento di
Entry
. La proprietàMaxLength
limita la lunghezza di input valida perEntry
e la proprietàIsSpellCheckEnabled
è impostata sufalse
per disabilitare il controllo ortografico. Analogamente, la proprietàIsTextPredictionEnabled
è impostata sufalse
per disabilitare il completamento del testo e il completamento automatico del testo. Inoltre, la proprietàIsPassword
garantisce che i caratteri immessi vengono mascherati con un carattere della password (un cerchio nero).Nota
Per alcuni scenari di immissione del testo, quali l'immissione di una password, il controllo ortografico e il completamento del testo offre un'esperienza negativa e pertanto deve essere disabilitata.
Se l'applicazione è ancora in esecuzione, salvare le modifiche apportate al file e l'interfaccia utente dell'applicazione verrà aggiornata automaticamente nel simulatore o nell'emulatore. In caso contrario, sulla barra degli strumenti di Visual Studio premere il pulsante Avvia, ovvero il pulsante a forma di triangolo simile a un pulsante di riproduzione, per avviare l'applicazione all'interno del simulatore iOS remoto o dell'emulatore Android prescelto. Immettere il testo in
Entry
e osservare che ogni carattere viene sostituito con un carattere della maschera della password e che il numero massimo di caratteri che possono essere immessi è 15:In Visual Studio arrestare l'applicazione.
Per altre informazioni sulla personalizzazione del
Entry
comportamento, vedere la Xamarin.Forms Guida alla voce .
Congratulazioni!
L'esercitazione è stata completata. Si è appreso come:
- Creare un Xamarin.Forms
Entry
oggetto in XAML. - Rispondere al cambiamento del testo dell'elemento
Entry
. - Personalizzare il comportamento di
Entry
.
Passaggi successivi
Per altre informazioni sulle nozioni di base sulla creazione di applicazioni per dispositivi mobili con Xamarin.Forms, passare all'esercitazione sull'editor.
Collegamenti correlati
Hai un problema con questa sezione? In caso di problemi, fornisci feedback per contribuire al miglioramento della sezione.