0
我有一個相當簡單的設置到目前爲止,看起來像這樣:怪異元間距在UniformGrid
正如你可以看到3號看起來完全正常。其他兩個不是。我有以下代碼:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Orientation="Vertical" Margin="0,0,5,0" Background="#FFEAEAEA">
<GroupBox x:Name="playStyleBox" Header="1. Play Style" HorizontalAlignment="Left" Margin="10,0,10,0" VerticalAlignment="Top">
<UniformGrid Columns="4">
<CheckBox x:Name="CheckBoxSubtle">Subtle</CheckBox>
<CheckBox x:Name="CheckBoxBalanced">Balanced</CheckBox>
<CheckBox x:Name="CheckBoxAggressive">Aggressive</CheckBox>
<CheckBox x:Name="CheckBoxSupportive">Supportive</CheckBox>
</UniformGrid>
</GroupBox>
<GroupBox x:Name="playStyleSubBox" Header="2. Sub Play Style" HorizontalAlignment="Left" Margin="10,0,10,0" VerticalAlignment="Top">
<UniformGrid Columns="3">
<CheckBox x:Name="CheckBoxMelee">Melee</CheckBox>
<CheckBox x:Name="CheckBoxRanged">Ranged</CheckBox>
<CheckBox x:Name="CheckBoxMagic">Magic</CheckBox>
</UniformGrid>
</GroupBox>
<GroupBox x:Name="alignmentBox" Header="3. Alignment" HorizontalAlignment="Left" Margin="10,0,5,0" VerticalAlignment="Top">
<UniformGrid Columns="3">
<CheckBox x:Name="CheckBoxLawfulGood">Lawful Good</CheckBox>
<CheckBox x:Name="CheckBoxNeutralGood">Neutral Good</CheckBox>
<CheckBox x:Name="CheckBoxChaoticGood">Chaotic Good</CheckBox>
<CheckBox x:Name="CheckBoxLawfulNeutral">Lawful Neutral</CheckBox>
<CheckBox x:Name="CheckBoxNeutral">Neutral</CheckBox>
<CheckBox x:Name="CheckBoxChaoticNeutral">Chaotic Neutral</CheckBox>
<CheckBox x:Name="CheckBoxLawfulEvil">Lawful Evil</CheckBox>
<CheckBox x:Name="CheckBoxNeutralEvil">Neutral Evil</CheckBox>
<CheckBox x:Name="CheckBoxChaoticEvil">Chaotic Evil</CheckBox>
</UniformGrid>
</GroupBox>
</StackPanel>
<GridSplitter Grid.Column="0" Width="4" BorderBrush="Red" VerticalAlignment="Stretch">
<GridSplitter.Template>
<ControlTemplate TargetType="{x:Type GridSplitter}">
<Grid>
<Button Content="⁞"/>
<Rectangle Fill="#FFACACAC"/>
</Grid>
</ControlTemplate>
</GridSplitter.Template>
</GridSplitter>
</Grid>
任何幫助,將不勝感激。我很失落,爲什麼這發生在前兩個UniformGrid的,但不是最後一個。
問題是什麼是什麼呢? UniformGrids具有「左」水平對齊,列寬由最大的複選框定義。在3個最大的複選框恰好在第3列,不像1和2。也#3最大複選框沒有附加到右邊界,因爲groupBox添加了一些填充,我想。嘗試添加一些'邊緣'複選框 – ASh
@ASh我不明白。 UniformGrid裏面的東西的順序應該不重要嗎?它應該是統一的分佈。我試圖改變第三個盒子的順序,它仍然工作得很好。沒有什麼奇怪的東西,如果在盒子和字母之間沒有適當的填充,就會弄髒文字。這隻發生在前兩個框中。他們的設置是相同的。 – OmniOwl
嘗試寫一個大字符串而不是'合法好'(例如'合法好好')。之後,#3中的所有列將獲得與第一列相同的寬度。在#2中,'Ranged'字符串是最長的,因此所有#2列的寬度都與#2 2nd列的寬度相同。所有這些都是因爲UniformGrids有'Left'水平對齊 – ASh