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.

Download SampleDescargar el ejemplo

Create a Xamarin.Forms solution and then replace the .NET Standard project with 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:

  1. En Visual Studio 2019, elija Crear un proyecto.

  2. 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.

    Filter for Xamarin.Forms apps

  3. En la siguiente pantalla, escriba un nombre para el proyecto y presione Crear.

  4. Elija la plantilla En blanco y presione Aceptar:

    Blank Xamarin.Forms template

    Esto crea una solución de Xamarin.Forms en Visual Studio mediante C#. Los pasos siguientes modifican la solución para usar Visual Basic.

  5. Haga clic con el botón derecho en la solución y elija Agregar > Nuevo proyecto...

  6. 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:

    Filter for Visual Basic library

  7. En la siguiente pantalla, escriba un nombre para el proyecto y presione Crear.

  8. 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:

    Ensure the Visual Basic root namespace matches the Xamarin.Forms app

  9. 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.

    Forms and close the package manager window

  10. Cambie el nombre del archivo Class1.vb predeterminado a App.vb:

    Rename the default Class1 file and class to App

  11. 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
    
  12. 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).

    Remove old project reference, add Visual Basic reference

  13. 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 ContentPages 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.