Xamarin.Forms con Visual Basic.NET
Xamarin non supporta direttamente Visual Basic. Seguire le istruzioni in questa pagina per creare una soluzione Xamarin.Forms C# C# e quindi sostituire il progetto C# .NET Standard con Visual Basic.
Nota
È necessario usare Visual Studio in Windows per programmare con Visual Basic.
Procedura dettagliata di Xamarin.Forms con Visual Basic
Seguire questa procedura per creare un semplice progetto Xamarin.Forms che usa Visual Basic:
In Visual Studio 2019 scegliere Crea un nuovo progetto.
Nella finestra Crea un nuovo progetto digitare Xamarin.Forms per filtrare l'elenco e selezionare App per dispositivi mobili (Xamarin.Forms) e quindi premere Avanti.
Nella schermata successiva digitare un nome per il progetto e premere Crea.
Scegliere il modello Vuoto e premere OK:
Verrà creata una soluzione Xamarin.Forms in Visual Studio usando C#. I passaggi successivi modificano la soluzione per l'uso di Visual Basic.
Fare clic con il pulsante destro del mouse sulla soluzione e scegliere Aggiungi > nuovo progetto...
Digitare la libreria Visual Basic per filtrare le opzioni del progetto e scegliere l'opzione Libreria di classi (.NET Standard) con l'icona di Visual Basic:
Nella schermata successiva digitare un nome per il progetto e premere Crea.
Fare clic con il pulsante destro del mouse sul progetto Visual Basic e scegliere Proprietà, quindi modificare lo spazio dei nomi predefinito in modo che corrisponda ai progetti C# esistenti:
Fare clic con il pulsante destro del mouse sul nuovo progetto Visual Basic e scegliere Gestisci pacchetti NuGet, quindi installare Xamarin.Forms e chiudere la finestra di gestione pacchetti.
Rinominare il file di Class1.vb predefinito in App.vb:
Incollare il codice seguente nel file App.vb , che diventerà il punto di partenza dell'app Xamarin.Forms:
Imports Xamarin.Forms Public Class App Inherits Application Public Sub New() Dim label = New Label With {.HorizontalTextAlignment = TextAlignment.Center, .FontSize = Device.GetNamedSize(NamedSize.Medium, GetType(Label)), .Text = "Welcome to Xamarin.Forms with Visual Basic.NET"} Dim stack = New StackLayout With { .VerticalOptions = LayoutOptions.Center } stack.Children.Add(label) Dim page = New ContentPage page.Content = stack MainPage = page End Sub End Class
Aggiornare i progetti Android e iOS in modo che facciano riferimento al nuovo progetto Visual Basic e non al progetto C# creato dal modello. Fare clic con il pulsante destro del mouse sul nodo Riferimenti nei progetti Android e iOS per aprire Gestione riferimenti. Deselezionare la libreria C# e selezionare la libreria Visual Basic (non dimenticare, eseguire questa operazione sia per i progetti Android che iOS).
Eliminare il progetto C#. Aggiungere nuovi file .vb per compilare l'applicazione Xamarin.Forms. Di seguito è riportato un modello per i nuovi
ContentPage
oggetti in Visual Basic:Imports Xamarin.Forms Public Class Page2 Inherits ContentPage Public Sub New() Dim label = New Label With {.HorizontalTextAlignment = TextAlignment.Center, .FontSize = Device.GetNamedSize(NamedSize.Medium, GetType(Label)), .Text = "Visual Basic ContentPage"} Dim stack = New StackLayout With { .VerticalOptions = LayoutOptions.Center } stack.Children.Add(label) Content = stack End Sub End Class
Limitazioni di Visual Basic in Xamarin.Forms
Come indicato nella pagina Portable Visual Basic.NET, Xamarin non supporta il linguaggio Visual Basic. Ciò significa che esistono alcune limitazioni in cui è possibile usare Visual Basic:
Le pagine XAML non possono essere incluse nel progetto Visual Basic. Il generatore code-behind può compilare solo C#. È possibile includere XAML in una libreria di classi portabile C# separata, a cui si fa riferimento e usare il databinding per popolare i file XAML tramite modelli Visual Basic (un esempio di questo è incluso nell'esempio).
I renderer personalizzati non possono essere scritti in Visual Basic, ma devono essere scritti in C# nei progetti della piattaforma nativa.
Le implementazioni del servizio di dipendenza non possono essere scritte in Visual Basic, ma devono essere scritte in C# nei progetti della piattaforma nativa.