Когда я помещаю TextBlock внутри горизонтально выровненной StackPanel, он не переносится. Я понимаю, что это потому, что доступной шириной StackPanel является PositiveInfinity, но есть ли обходные пути?
Мой макет намного сложнее, чем этот пример, поэтому я не могу удалить StackPanel или
Горизонтальная ориентация. Я просто попытался воспроизвести самый простой пример, демонстрирующий поведение.
<StackPanel Orientation="Horizontal">
<Rectangle Width="50" Height="50" Fill="Blue" VerticalAlignment="Top" />
<Rectangle Width="50" Height="50" Fill="Red" VerticalAlignment="Top" />
<TextBlock TextWrapping="Wrap"
Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus leo lectus, viverra ut lobortis vel, mollis eget lectus. Suspendisse laoreet consequat ultrices. Curabitur ultricies, tortor feugiat porttitor faucibus, lorem eros pretium nisl, eu ullamcorper mauris tortor sit amet augue." />
</StackPanel>
Обновление: Ширина текстового блока должна быть динамической. Мне нужно, чтобы оно текло вместе с окном при изменении его размера.
Обновление 2: Добавлен еще один элемент в StackPanel, потому что мне нужно, чтобы дочерние элементы были расположены горизонтально.
Обновление 3 (решение): Замена StackPanel на DockPanel.
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<Rectangle Width="50" Height="50" Fill="Blue" VerticalAlignment="Top" DockPanel.Dock="Left" />
<Rectangle Width="50" Height="50" Fill="Red" VerticalAlignment="Top" DockPanel.Dock="Left" />
<TextBlock TextWrapping="Wrap"
Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus leo lectus, viverra ut lobortis vel, mollis eget lectus. Suspendisse laoreet consequat ultrices. Curabitur ultricies, tortor feugiat porttitor faucibus, lorem eros pretium nisl, eu ullamcorper mauris tortor sit amet augue." />
</DockPanel>
</DockPanel>