Xamarin.Forms mediante Visual Basic.NET
Xamarin no admite Visual Basic directamente: siga las instrucciones de esta página para crear una solución de C# Xamarin.Forms y, a continuación, reemplace el proyecto de C# de .NET Standard por Visual Basic.
Nota:
Debe usar Visual Studio en Windows para programar con Visual Basic.
Tutorial de Xamarin.Forms con Visual Basic
Siga estos pasos para crear un proyecto sencillo de Xamarin.Forms que use Visual Basic:
En Visual Studio 2019, elija Crear un proyecto.
En la ventana Crear un proyecto, escriba Xamarin.Forms para filtrar la lista y seleccione Aplicación móvil (Xamarin.Forms); a continuación, presione Siguiente.
En la siguiente pantalla, escriba un nombre para el proyecto y presione Crear.
Elija la plantilla En blanco y presione Aceptar:
Esto crea una solución de Xamarin.Forms en Visual Studio mediante C#. Los pasos siguientes modifican la solución para usar Visual Basic.
Haga clic con el botón derecho en la solución y elija Agregar > Nuevo proyecto...
Escriba biblioteca de Visual Basic para filtrar las opciones del proyecto y elija la opción Biblioteca de clases (.NET Standard) con el icono de Visual Basic:
En la siguiente pantalla, escriba un nombre para el proyecto y presione Crear.
Haga clic con el botón derecho en el proyecto de Visual Basic y elija Propiedades; a continuación, cambie el espacio de nombres predeterminado para que coincida con los proyectos de C# existentes:
Haga clic con el botón derecho en el nuevo proyecto de Visual Basic, elija Administrar paquetes NuGet y, a continuación, instale Xamarin.Forms y cierre la ventana del administrador de paquetes.
Cambie el nombre del archivo Class1.vb predeterminado a App.vb:
Pegue el código siguiente en el archivo App.vb, que se convertirá en el punto de partida de la aplicación de 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
Actualice los proyectos de Android y iOS para que hagan referencia al nuevo proyecto de Visual Basic (y no al proyecto de C# creado por la plantilla). Haga clic con el botón derecho en el nodo Referencias de los proyectos de Android y iOS para abrir el Administrador de referencias. Desactive la biblioteca de C# y marque la biblioteca de Visual Basic (no olvide hacerlo tanto para los proyectos de Android como los de iOS).
Elimine el proyecto de C#. Agregue nuevos archivos .vb para compilar la aplicación de Xamarin.Forms. A continuación, se muestra una plantilla para nuevos
ContentPage
s en 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
Limitaciones de Visual Basic en Xamarin.Forms
Como se indica en la página Portable Visual Basic.NET, Xamarin no admite el lenguaje de Visual Basic. Esto significa que existen algunas limitaciones sobre dónde puede utilizar Visual Basic:
No se pueden incluir páginas XAML en el proyecto de Visual Basic: el generador de código subyacente solo puede compilar C#. Es posible incluir XAML en una biblioteca de clases portátil de C# separada y referenciada y usar el enlace de datos para completar los archivos XAML a través de modelos de Visual Basic (se incluye un ejemplo de esto en la muestra).
Los representadores personalizados no se pueden escribir en Visual Basic, deben escribirse en C# en los proyectos de la plataforma nativa.
Las implementaciones de Dependency Service no se pueden escribir en Visual Basic; deben escribirse en C# en los proyectos de plataforma nativa.