У меня есть довольно простая установка до сих пор, которая выглядит следующим образом:Weird Ограничитель в 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 добавляет некоторые дополнения, я думаю. попробуйте добавить поле «Margin» к флажкам – ASh
@ASh Я не понимаю. Порядок вещей внутри UniformGrid не должен иметь значения, если это так? Он должен быть равномерным распределением. Я попытался изменить порядок для третьего ящика, и он все еще работает отлично. Ничего странного, как протертый текст без надлежащего заполнения между ящиками и буквами. Это происходит только в первых двух коробках. Их установки идентичны. – OmniOwl
попробуйте написать большую строку вместо «Lawful Good» (например, «Lawful Good Good Good»). после этого все столбцы в # 3 будут иметь ту же ширину, что и первый столбец. в # 2 строка 'Ranged' самая длинная, поэтому все столбцы # 2 имеют ту же ширину, что и второй номер 2. все, что происходит, потому что UniformGrids имеют горизонтальное выравнивание «Left» – ASh