简单地说,我有一个表格有三个同样高的行和两个按钮。我想在第一行有第一个按钮,然后是第二行空,最后是第三行的第二个按钮。这样我可以在相对大小的按钮之间获得间距。我需要这个而不是硬编码的绝对边际值。所以这里是XAML的:为什么Viewbox使用等间距的行/列打破格子中的布局?
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Row="0">Button 1</Button>
<Button Grid.Row="2">Button 2</Button>
</Grid>
很好用!现在,更多的功能,我需要的是拥有一切可扩展的,所以我把它放在Viewbox控件:
<Viewbox>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Row="0">Button 1</Button>
<Button Grid.Row="2">Button 2</Button>
</Grid>
</Viewbox>
突然布局被打破。我得到了Viewbox提供的缩放比例,但我没有在按钮之间获得空白区域。所以有两个问题:
- 为什么Viewbox在这里打破了什么?
- 我怎样才能解决这个?我需要灵活性,所以想象一下,我可以有任意数量的按钮,可以通过Grid中任意数量的空行/列进行分隔。