автоматическое выравнивание кнопок - PullRequest
3 голосов
/ 17 января 2012

Я выровнял 4 кнопки внутри сетки. Есть ли способ сделать автоматическое выравнивание таким образом, чтобы, если видимость одной кнопки установлена ​​в ложное значение, оставшиеся кнопки разумно использовали пространство [другие кнопки перемещаются, чтобы приспособиться к новому пространству]?

Ответы [ 3 ]

2 голосов
/ 18 января 2012

Попробуйте следующее:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
    <StackPanel Orientation="Horizontal">
        <Button Content="1" Width="50" Height="23" Visibility="Collapsed"/>
        <Button Content="2" Width="50" Height="23"/>
        <Button Content="3" Width="50" Height="23" Visibility="Collapsed"/>
        <Button Content="4" Width="50" Height="23"/>
    </StackPanel>
</Grid>

Или это:

<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <Button Grid.Column="1" Content="1" Width="50" Height="23" Visibility="Collapsed"/>
    <Button Grid.Column="2" Content="2" Width="50" Height="23"/>
    <Button Grid.Column="3" Content="3" Width="50" Height="23" Visibility="Collapsed"/>
    <Button Grid.Column="4" Content="4" Width="50" Height="23"/>
</Grid>

Вы должны видеть кнопки по центру, но показывать только вторую и четвертую кнопку

2 голосов
/ 17 января 2012

Вместо сетки поместите кнопки в StackPanel с ориентацией = "Горизонтальный". Также убедитесь, что для кнопки «Видимость» установлено значение «Свернутый» вместо «Скрытый».

1 голос
/ 17 января 2012

Зависит от макета и от того, насколько сложным должно быть распределение пространства, если достаточно равномерного распределения, вы можете использовать UniformGrid в нормальном Grid, что будет немного сложнокак столбцы и строки должны быть скорректированы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...