В Silverlight 2.0. У меня есть контент, который я хочу прокручивать по вертикали и переносить по горизонтали. В контроле у меня есть док панель. Последний дочерний элемент DockPanel, который заполняет его, это ScrollViewer
<UserControl x:Class="MyProject.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WinControls="clr-namespace:Microsoft.Windows.Controls;
assembly=Microsoft.Windows.Controls"
Width="400" Height="300">
<WinControls:DockPanel LastChildFill="True">
...
<ScrollViewer x:Name="MessageScroll" HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Auto" BorderThickness="0" >
<Controls:TextDisplay x:Name="TextDisplay"></Controls:TextDisplay>
</ScrollViewer>
Элемент управления TextDisplay XAML выглядит следующим образом:
<UserControl x:Class="MyProject.TextDisplay"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TextBlock x:Name="TextDisplayText" TextWrapping="Wrap">
</TextBlock>
</UserControl>
Что я хочу сделать: TextDisplay должен занимать основную область элемента управления,
с вертикальной полосой прокрутки, если высота не подходит. Сообщения должны переноситься, когда они становятся слишком длинными по горизонтали.
Прокрутка работает, но теперь сообщения не переносятся по правому краю. они просто отрезаны. Он не ограничивает ширину, а просто скрывает HorizontalScrollBar. Если я установлю HorizontalScrollBarVisibility = "Auto", я вижу, как они прокручиваются вправо. Как заставить его обернуть?