Когда я помещаю 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>
Обновление: Ширина TextBlock должна быть динамической. Мне нужно, чтобы он перетекал с окном по мере его изменения.
Обновление 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>