GridSplitterの縦分割・横分割に関する解説。
とりあえずサクッと動くモノを。
WinFormのSplitContainerに相当するが、使用感は大分異なる。Visual Studioでのプロパティ設定も可能だが、それほど素直に動いてくれない。
間違ったCodingをすると見た目上、非表示化する。
横分割(Column)
下記 コード
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <GridSplitter Grid.Column ="0" Background="Blue" Width="10"/> <Button Grid.Column="0" Margin="0,0,5,0" Content="test1" Height="20" Width="50"/> <Button Grid.Column="1" Margin="0,0,5,0" Content="test2" Height="20" Width="50"/> </Grid>
縦分割(ROW)
横分割ほど素直に動いてくれない
色々試行錯誤して以下のようになった。
<Grid.RowDefinitions>
や
HorizontalAlignment="Stretch"
プロパティを付けるなどが必要。
<Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="5" /> <RowDefinition /> </Grid.RowDefinitions> <GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" Background="Aqua"/> <Button Grid.Row ="0" Content="test1" Height="20" Width="50"/> <Button Grid.Row ="3" Margin="0,0,5,0" Content="test2" Height="20" Width="50"/> </Grid>
画像
MSDNドキュメントのサンプルコードもあるが分かりにくい。