簡潔に書けるように StackPanelのような使い勝手の1行(1列)Gridを作りました
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="30" />
<ColumnDefinition /><!--<ColumnDefinition Width="*" />-->
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Button Content="aaaaa" />
<Button Grid.Column="1" />
<Button Grid.Column="2" />
<Button Grid.Column="3" />
</Grid>
これが <z:StackGrid><!--<z:StackGrid Orientation="Horizontal">-->
<Button z:StackGrid.Length="Auto" Content="aaaaa" />
<Button z:StackGrid.Length="30" />
<Button /><!--<Button z:StackGrid.Length="*" />-->
<Button z:StackGrid.Length="2*" />
</z:StackGrid>
こう書けますメリット
- ColumnDefinitions(RowDefinitions)の行を削減できる
- Grid.Column="1"等を書かなくて済む
コントロールの追加や削除の際に数字を変えるのがほんと面倒でした
デメリット
- 1行または1列限定
- Grid.ColumnSpan(RowSpan)に当たるものがない
- 子要素を重ねられない
子要素を重ねられないのはやや残念ですが 作りこむのが面倒だったのでそういう場面では素直にGridを使ってください

