簡單地說,我有一個表格有三個同樣高的行和兩個按鈕。我想在第一行有第一個按鈕,然後是第二行空,最後是第三行的第二個按鈕。這樣我可以在相對大小的按鈕之間獲得間距。我需要這個而不是硬編碼的絕對邊際值。所以這裏是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中任意數量的空行/列進行分隔。