Есть ли способ изменить ориентацию StackPanel с «Горизонтального» на «Вертикальный» в зависимости от ширины контейнера? - PullRequest
1 голос
/ 20 марта 2020

У меня есть два элемента фиксированного размера в настоящее время в сетке, расположенных горизонтально. Пользователь запросил возможность растягивать контейнер по вертикали и сжимать его по горизонтали, чтобы эти два элемента выглядели сложенными вертикально. Я поменял сетку на StackPanel, но моим последним препятствием было изменение ориентации. Основой c logi c будет:

    <StackPanel HorizontalAlignment="Center" Orientation="{Binding (ActualWidth < ActualHeight ? "Vertical" : "Horizontal")}">

Я извиняюсь, если этот вопрос слишком расплывчатый, я все еще привыкаю к ​​WPF! Пожалуйста, дайте мне знать, если есть какие-либо дополнительные сведения, необходимые для ответа на этот вопрос.

1 Ответ

1 голос
/ 20 марта 2020

A WrapPanel должно дать вам поведение, которое вы хотите. Вот простой пример:

<Grid>
    <WrapPanel HorizontalAlignment="Center">
        <Rectangle
            Width="200"
            Height="200"
            Fill="Red" />
        <Rectangle
            Width="200"
            Height="200"
            Fill="Blue" />
    </WrapPanel>
</Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...