XamTileManagerを縦配置にしていて、画面の大きさに応じた割合で縦幅を指定したい場合、XamTileManagerの添付プロパティのRowWeightを使ってみてください。
例えば、タイルを3つ縦に配置し、2:1:1の割合で縦幅を設定したい場合は、以下のようになります。
<ig:XamTileManager x:Name="xamTileManager1"> <ig:XamTileManager.NormalModeSettings> <ig:NormalModeSettings TileLayoutOrder="Vertical"/> </ig:XamTileManager.NormalModeSettings> <ig:XamTile Header="Tile 1" Content="Content Area" ig:XamTileManager.RowWeight="2"/> <ig:XamTile Header="Tile 2" Content="Content Area" ig:XamTileManager.RowWeight="1"/> <ig:XamTile Header="Tile 3" Content="Content Area" ig:XamTileManager.RowWeight="1"/> </ig:XamTileManager>
実行結果
注意点
RowWeightは、タイル内のコントロールやタイル自体を配置した後にHeightが余った時に初めて使用されるプロパティです。そのため、Heightが余らなかった場合はRowWeightは無視されます。また、RowWeightで配分されるのは余った部分のみで、全体の配分に使用されるわけではありません。
サンプル
ドキュメント、APIリファレンス
- 「タイル レイアウトについて」
- https://jp.infragistics.com/help/wpf/19.2/xamtilemanager-about-tile-layout
- →一番最後のスクリーンショットのあとの「上記の 4 つのレイアウト オプションに加え、」以降がRowWeightの説明箇所です。
- 「RowWeightProperty フィールド」