Xamarin.Forms mit Visual Basic.NET
Xamarin unterstützt Visual Basic nicht direkt – befolgen Sie die Anweisungen auf dieser Seite, um eine C#Xamarin.Forms-Lösung zu erstellen und dann das .NET Standard C#-Projekt durch Visual Basic zu ersetzen.
Hinweis
Sie müssen Visual Studio unter Windows zum Programmieren mit Visual Basic verwenden.
Exemplarische Vorgehensweise für Xamarin.Forms mit Visual Basic
Führen Sie die folgenden Schritte aus, um ein einfaches Xamarin.Forms-Projekt zu erstellen, das Visual Basic verwendet:
Wählen Sie in Visual Studio 2019 " Neues Projekt erstellen" aus.
Geben Sie im Fenster "Neues Projekt erstellen" Xamarin.Forms ein, um die Liste zu filtern und "Mobile App (Xamarin.Forms)" auszuwählen, und drücken Sie dann "Weiter".
Geben Sie auf dem nächsten Bildschirm einen Namen für das Projekt ein, und drücken Sie " Erstellen".
Wählen Sie die leere Vorlage aus, und drücken Sie OK:
Dadurch wird eine Xamarin.Forms-Lösung in Visual Studio mit C# erstellt. Die nächsten Schritte ändern die Lösung so, dass Visual Basic verwendet wird.
Klicken Sie mit der rechten Maustaste auf die Projektmappe, und wählen Sie " Neues Projekt hinzufügen > " aus...
Geben Sie die Visual Basic-Bibliothek ein, um die Projektoptionen zu filtern, und wählen Sie die Option "Klassenbibliothek (.NET Standard) " mit dem Visual Basic-Symbol aus:
Geben Sie auf dem nächsten Bildschirm einen Namen für das Projekt ein, und drücken Sie " Erstellen".
Klicken Sie mit der rechten Maustaste auf das Visual Basic-Projekt, und wählen Sie "Eigenschaften" aus, und ändern Sie dann den Standardnamespace so, dass er den vorhandenen C#-Projekten entspricht:
Klicken Sie mit der rechten Maustaste auf das neue Visual Basic-Projekt, und wählen Sie "NuGet-Pakete verwalten" aus, installieren Sie dann Xamarin.Forms , und schließen Sie das Paket-Manager-Fenster.
Benennen Sie die Standarddatei Class1.vb in App.vb um:
Fügen Sie den folgenden Code in die datei App.vb ein, die zum Ausgangspunkt Ihrer Xamarin.Forms-App wird:
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
Aktualisieren Sie die Android- und iOS-Projekte so, dass sie auf ein neues Visual Basic-Projekt verweisen (und nicht auf das von der Vorlage erstellte C#-Projekt). Klicken Sie mit der rechten Maustaste auf den Knoten "Verweise " in den Android- und iOS-Projekten, um den Verweis-Manager zu öffnen. Heben Sie die C#-Bibliothek auf, und markieren Sie die Visual Basic-Bibliothek (vergessen Sie nicht, dies sowohl für Android- als auch für iOS-Projekte).
Löschen Sie das C#-Projekt. Fügen Sie neue .vb Dateien hinzu, um Ihre Xamarin.Forms-Anwendung zu erstellen. Eine Vorlage für neue
ContentPage
s in Visual Basic wird unten gezeigt: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
Einschränkungen von Visual Basic in Xamarin.Forms
Wie auf der Seite portable Visual Basic.NET angegeben, unterstützt Xamarin die Visual Basic-Sprache nicht. Dies bedeutet, dass es einige Einschränkungen gibt, an denen Sie Visual Basic verwenden können:
XAML-Seiten können nicht im Visual Basic-Projekt enthalten sein – der CodeBehind-Generator kann nur C# erstellen. Es ist möglich, XAML in eine separate, referenzierte C#-Klassenbibliothek einzuschließen und Datenbindung zu verwenden, um die XAML-Dateien über Visual Basic-Modelle aufzufüllen (ein Beispiel hierfür ist im Beispiel enthalten).
Benutzerdefinierte Renderer können nicht in Visual Basic geschrieben werden, sie müssen in C# in den nativen Plattformprojekten geschrieben werden.
Abhängigkeitsdienstimplementierungen können nicht in Visual Basic geschrieben werden, sie müssen in C# in den nativen Plattformprojekten geschrieben werden.