VB.NET から Xamarin.Forms を使う

 

VB.NET から Xamarin.Forms を使う

メインアッセンブリーに Visual Basic を使用するように Xamarin.Forms の PCL プロジェクトのテンプレートを編集して、VB.NET を使用してクロスプラットフォーム モバイルアプリをスムーズにビルドできます。

Xamarin では直接 Visual Basic をサポートしていませんが、本記事の手順に従って、C# の Xamarin.Forms の PCL ソリューションを作成し、共通コードの PCL プロジェクトを Visual Basic に置き換えます。


注意: Windows で Visual Studio を使用して Visual Basic でプログラミングする必要があります。

 

Visual Basic で Xamarin.Forms を使う手順

以下の手順で Visual Basic を使用するシンプルな Xamarin.Forms のプロジェクトを作成します:

  1. PCL (Portable Class Libraries) を使用する Xamarin.Forms C# ソリューションを新規に作成します。 File > New Project を選択し、New Project ウィンドウを開いて Installed > Templates > Visual C# > Mobile Apps を選択し、Blank App (Xamarin.Forms Portable) を選択します。

  2. ソリューションを右クリックし、Add > New Project を選択します。

  3. Visual Basic > Class Library (Portable) でプロジェクト タイプを選択します:


  4. リストからプラットフォームを選択し、PCL プロファイルを設定します (Xamarin.iOS と Xamarin.Android が含まれていることを確認してください):


  5. Visual Basic のプロジェクトで右クリックし、Properties を選択し、Default namespace を変更して既存の C# のプロジェクトと一致させます:


  6. 新規の Visual Basic のプロジェクトを右クリックし、Manage Nuget Packages を選択し、Xamarin.Forms をインストールし、パッケージ マネージャー ウィンドウを閉じます。


  7. デフォルトの Class1 ファイルの名前を変更し、クラスを App へ追加します:


  8. 以下のコードを App.vb ファイルに貼り付けて、対象の Xamarin.Forms アプリのスタート ポイントとします。 忘れずに Imports Xamarin.Forms を含め、Inherits Application をクラスへ追加してください:

    Imports Xamarin.Forms
    
    Public Class App
        Inherits Application
    
        Public Sub New()
            Dim label = New Label With {.XAlign = 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
  9. ここで新規の Visual Basic のプロジェクトで iOS と Android のプロジェクトをポイントする必要があります。 iOS と Android のプロジェクトの References ノードを右クリックし、Reference Manager を開きます。C# の Portable Library のチェックを外し、VB の Portable Library のチェックを ON にします (iOS と Android の両方のプロジェクトでこれを忘れずに実行してください)。


  10. C# の Portable プロジェクトを削除します。新規に .vb ファイルを追加し、対象の Xamarin.Forms アプリケーションをビルドします。Visual Basic の新規の ContentPage 用のテンプレートは以下のようになります:

Imports Xamarin.Forms

Public Class Page2
    Inherits ContentPage

    Public Sub New()
        Dim label = New Label With {.XAlign = 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 を使用する場合の制限

Portable Visual Basic.NET ページの説明のとおり、Xamarin では Visual Basic 言語をサポートしておりません。つまり、Visual Basic を使用する場合には、以下のような制限があるので、ご注意ください:

  • Visual Basic では、Custom Renderers を記述できません。ネイティブ プラットフォーム プロジェクトで C# で記述する必要があります。

  • Visual Basic では、Dependency Service の実装を記述できません。ネイティブ プラットフォーム プロジェクトで C# で記述する必要があります。

  • Visual Basic のプロジェクトに XAML ページを含めることはできません - code-behind generator は C# のみビルド可能です。別の参照した C# の PCL (Portable Class Library) に XAML を含めたり、Visual Basic モデルを使用して XAML ファイルを入れた Databinding を使用することは可能です (sample に含まれるサンプルを参考にしてください)。

  • Xamarin では Visual Basic.NET 言語をサポートしておりません。

 

 


Infragistics Infragistics
エンタープライズ向け統合 UI 開発コンポーネント。WinForms、モバイル、Web 用の UI コントロール。
CData ドライバー CData ドライバー
50 以上のデータ ソースへのアクセスをプログラミングなしで可能にするデータベース ドライバー。
SmartBear Software SmartBear
GUI テスト / プロファイラー / 負荷テスト / API テスト: ソフトウェア テストの自動化/工数削減/品質向上。
/n software IP*Works! /n software IP*Works!
クロスプラットフォーム対応のインターネット アプリケーション開発向けコンポーネント スイート。
UXDivers Grial UI Kit
Xamarin Forms 対応の XAML ベースの UI、UX テンプレートを提供
XFINIUM.PDF XFINIUM.PDF
Xamarin 対応のクロスプラットフォーム PDF 開発ツール
Aspose Aspose
.NET/Java で Word、Excel、PowerPoint、PDF などの Office ファイルを操作できる API ライブラリ。
Visual Studio Microsoft Visual Studio
最新の統合開発環境!アプリケーションの迅速かつ高品質な構築を支援する開発環境を提供。