Xamarin.Forms с помощью Visual Basic.NET

Xamarin не поддерживает Visual Basic напрямую. Следуйте инструкциям на этой странице, чтобы создать решение C# Xamarin.Forms, а затем замените проект C# .NET Standard на Visual Basic.

Создайте решение Xamarin.Forms и замените проект .NET Standard на Visual Basic

Примечание.

Для программирования с помощью Visual Basic необходимо использовать Visual Studio в Windows.

Пошаговое руководство по Xamarin.Forms с Visual Basic

Выполните следующие действия, чтобы создать простой проект Xamarin.Forms, использующий Visual Basic:

  1. В Visual Studio 2019 выберите "Создать проект".

  2. В окне создания проекта введите Xamarin.Forms, чтобы отфильтровать список и выбрать мобильное приложение (Xamarin.Forms), а затем нажмите кнопку "Далее".

    Фильтрация приложений Xamarin.Forms

  3. На следующем экране введите имя проекта и нажмите клавишу CREATE.

  4. Выберите пустой шаблон и нажмите кнопку ОК:

    Пустой шаблон Xamarin.Forms

    Это создает решение Xamarin.Forms в Visual Studio с помощью C#. Следующие шаги изменяют решение для использования Visual Basic.

  5. Щелкните правой кнопкой мыши решение и выберите пункт "Добавить > новый проект" ...

  6. Введите библиотеку Visual Basic для фильтрации параметров проекта и выберите параметр библиотеки классов (.NET Standard) со значком Visual Basic:

    Фильтр для библиотеки Visual Basic

  7. На следующем экране введите имя проекта и нажмите клавишу CREATE.

  8. Щелкните правой кнопкой мыши проект Visual Basic и выберите "Свойства", а затем измените пространство имен по умолчанию на соответствие существующим проектам C#:

    Убедитесь, что корневое пространство имен Visual Basic соответствует приложению Xamarin.Forms

  9. Щелкните правой кнопкой мыши новый проект Visual Basic и выберите пункт "Управление пакетами NuGet", а затем установите Xamarin.Forms и закройте окно диспетчера пакетов.

    Формы и закрытие окна диспетчера пакетов

  10. Переименуйте файл Class1.vb по умолчанию в App.vb:

    Переименование файла класса 1 по умолчанию в App

  11. Вставьте следующий код в файл App.vb , который станет отправной точкой приложения 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. Обновите проекты Android и iOS, чтобы они ссылались на новый проект Visual Basic (а не проект C#, созданный шаблоном). Щелкните правой кнопкой мыши узел "Ссылки" в проектах Android и iOS, чтобы открыть диспетчер ссылок. Отключите библиотеку C# и установите флажок на библиотеку Visual Basic (не забывайте об этом как для проектов Android, так и для iOS).

    Удаление старой ссылки на проект, добавление ссылки на Visual Basic

  13. Удалите проект C#. Добавьте новые .vb файлы для создания приложения Xamarin.Forms. Ниже показан шаблон для новых ContentPageверсий 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
    

Ограничения Visual Basic в Xamarin.Forms

Как указано на странице переносимого визуального Basic.NET, Xamarin не поддерживает язык Visual Basic. Это означает, что существуют некоторые ограничения, в которых можно использовать Visual Basic:

  • Страницы XAML нельзя включить в проект Visual Basic. Генератор кода за пределами кода может создавать только C#. Можно включить XAML в отдельную переносимую библиотеку классов C# и использовать привязку данных для заполнения файлов XAML с помощью моделей Visual Basic (пример этого включен в пример).

  • Пользовательские отрисовщики не могут быть написаны в Visual Basic, они должны быть написаны на C# в собственных проектах платформы.

  • Реализация службы зависимостей не может быть написана в Visual Basic, они должны быть написаны на C# в собственных проектах платформы.