恥ずかしい話ですが、先日 F# で Xamarin.Forms ソリューションのテンプレートの存在に気が付きました。
もしかしたら以前にも気が付いたことがあったかもしれませんが、そうであっても完全に忘れていたので書いておきます。
※追記:ちょうど 2 年くらい前にも一度気が付いていたらしいです。。。
■ Visual Studio for Mac を起動する
最初の手順として、Visual Studio for Mac を起動します。for Windows ではだめです。Mac でなければテンプレートが出てきませんでした。
プロジェクトの新規作成で、マルチプラットフォーム > アプリ > Xamarin.Forms > 空白のフォームアプリ > F# を選択します。
xaml および対になる F# コードでアプリのソースコードが作られます。
■ 実行する
そのまま実行できます。
これだけです。注意点は、for Windows ではだめという点でしょうか。
ちなみに、for Mac でソリューションを作った後はソリューションを Windows で開いても普通にビルド、実行可能です。
■ コードから表示テキストを変えてみる
F# のコードで表示されるテキスト「Welcome to Xamarin.Forms!」を「Welcome F# Xamarin.Forms!」に変えてみます。
<?xml version="1.0" encoding="utf-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:fsforms" x:Class="fsforms.MainPage"> <Label x:Name="welcomelabel" Text="Welcome to Xamarin Forms!" VerticalOptions="Center" HorizontalOptions="Center" /> </ContentPage>
namespace fsforms open Xamarin.Forms open Xamarin.Forms.Xaml type MainPage() = inherit ContentPage() do let _ = base.LoadFromXaml(typeof<MainPage>) let ll:Label = base.FindByName "welcomelabel" ll.Text <- "Welcome F# Xamarin.Forms!"
計画通り。テキストを変更できました。