使用 Visual Basic.NET 的 Xamarin.Forms
Xamarin 不直接支持 Visual Basic - 请按照本页上的说明创建 C# Xamarin.Forms 解决方案,然后将 .NET Standard C# 项目替换为 Visual Basic。
注意
必须在 Windows 上使用 Visual Studio 才能通过 Visual Basic 进行编程。
使用 Visual Basic 的 Xamarin.Forms 演练
按照以下步骤创建一个使用 Visual Basic 的简单 Xamarin.Forms 项目:
在 Visual Studio 2019 中选择“创建新项目”。
在“创建新项目”窗口中,键入“Xamarin.Forms”以筛选列表并选择“移动应用(Xamarin.Forms)”,然后按“下一步”。
在下一个屏幕上,键入项目名称并按“创建”。
选择“空白”模板,然后按“确定”:
这会使用 C# 在 Visual Studio 中创建 Xamarin.Forms 解决方案。 接下来的步骤将修改解决方案以使用 Visual Basic。
右键单击该解决方案并选择“添加”>“新项目...”
键入“Visual Basic 库”以筛选项目选项,然后选择带有 Visual Basic 图标的“类库(.NET Standard)”选项:
在下一个屏幕上,键入项目名称并按“创建”。
右键单击 Visual Basic 项目并选择“属性”,然后更改“默认命名空间”以匹配现有的 C# 项目:
右键单击新的 Visual Basic 项目并选择“管理 NuGet 包”,然后安装“Xamarin.Forms”并关闭包管理器窗口。
将默认的“Class1.vb”文件重命名为“App.vb”:
将以下代码粘贴到“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
更新 Android 和 iOS 项目,以便它们引用新的 Visual Basic 项目(而不是模板创建的 C# 项目)。 右键单击 Android 和 iOS 项目中的“引用”节点以打开“引用管理器”。 取消勾选 C# 库并勾选 Visual Basic 库(请记得对 Android 和 iOS 项目执行此操作)。
删除 C# 项目。 添加新的 .vb 文件以生成 Xamarin.Forms 应用程序。 Visual Basic 中新
ContentPage
的模板如下所示: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
Xamarin.Forms 中 Visual Basic 的限制
如可移植 Visual Basic.NET 页中所述,Xamarin 不支持 Visual Basic 语言。 这意味着 Visual Basic 的使用范围存在一些限制:
XAML 页面不能包含在 Visual Basic 项目中 - 代码隐藏生成器只能生成 C#。 可以将 XAML 包含在单独的、被引用的 C# 可移植类库中,并使用数据绑定通过 Visual Basic 模型填充 XAML 文件(示例包含在示例中)。
自定义渲染器不能用 Visual Basic 编写,必须在本机平台项目中用 C# 编写。
依赖项服务实现不能用 Visual Basic 编写,必须在本机平台项目中用 C# 编写。