Xamarinメモ

〇XAML

<ScrollView VerticalOptions=”LayoutOptions.FillAndExpand”
HorizontalOptions=”Center”> 

//スクロールバーを付ける、画面の空スペースをすべて埋める前提で作られてるので複数同じページに付けると死ぬ

 

<StackLayout Padding=”20″>

//よくあるレイアウト縦に並べるか横に並べるか

 

<Label x:Name=”Label1″ Text= “{Binding Path=Name,Mode=OneWay}”
HorizontalTextAlignment=”Center”
FontSize=”Large”
BackgroundColor=”#519961″
Margin=”10″/>

//ラベル。x:Nameでつけた名前を使ってコードで操作できる。Textの中は書き換え自に反映されるような形。

 

<Button Text=”Game Over” FontSize=”Large” Clicked=”メソッド名” Margin=”10″ BackgroundColor=”#A9CCB0″/>

//ボタン。Clicledで押されたときに実行する先を指定できる。

 

 

〇C#

public void メソッド名(object sender, EventArgs e){

}

//ボタンが押されたときのメソッド。()の中はよくわかってない。ボタンの存在するxaml.csに書くといいっぽい。

 

DependencyService.Get<インターフェース名①>().メソッド名()②;


 

public interface インターフェース名①{

void メソッド名()②

}


 

[assembly: Xamarin.Forms.Dependency(typeof(ソリューション名.プラットフォーム名.クラス名③))]

public クラス名③:インターフェース名①{

                public void メソッド名()②{

                }

}

 

//各プラットフォーム事の処理を書きたいときは、インターフェースを使う。一番最初のやつを共通コードに書くと、二つ目のやつ(インターフェース)でどのプラットフォームかを識別してそれぞれのメソッドに飛ばしてくれる。三つ目のメソッドで実際の処理を書く。三つ目のプラットフォーム名はUWPかDroidかiOSのどれかが入る。