レイアウトの設定について
VerticalOptions / HorizontalOptions プロパティ
- Xamarin.Forms.Viewクラスの LayoutOptions構造体型 プロパティ。Viewクラスは、Label や Button、StackLayout や Grid などのすべてのUI要素の基本クラス。
- 対象コントロール(View要素)のLayout上での配置とサイズ(外枠)の2つに影響を与えます。
- LayoutOptionsは構造体で、Alignment とExpands の2つのプロパティを持つ。
public LayoutAlignment Alignment { get; set; } プロパティ
- Center - 中央寄せ
- Start - 開始点寄せ(横方向であれば Left、縦方向であれば Top)
- End - 終了点寄せ(横方向であれば Right、縦方向であれば Bottom)
- Fill - 領域全体を満たす
public Boolean Expands { get; set; } プロパティ
- 親の領域が余った場合、「領域を与えてもらうか?(サイズを拡張してもらうか?)」のフラグ
VerticalTextAlignment/HorizontalTextAlignment
- コントロール中で表示される配置を設定する。
- Center - 中央寄せ
- Start - 開始点寄せ(横方向であれば Left、縦方向であれば Top)
- End - 終了点寄せ(横方向であれば Right、縦方向であれば Bottom)
デザイナについて
- デザイナは、xamlで指定されたContentPageクラスのインスタンスを作成して、レイアウト表示する。
- xamlファイルを定期的に関して、変更があれば、レイアウトを再表示しようとする。
- そのため、バイディングしている場合、ContentPageクラスのコンストラクタでバイディングデータを作成している場合、デザイナはコンストラクタで作成したバインディングデータを表示する。しかし、その場合、xamlファイルを変更した場合、デザイナからエラーが発生される。
- 上記の対応として、バイディングデータの作成処理はContentPageクラスのコンストラクタに記述しない方が良いと思われる。
参考にさせていただいたページ
Xamarin Forms - StackLayoutのVerticalOptions(Expands)について