强制TextBlock包装在WPF ListBox中

我有一个WPF列表框显示消息。它包含左侧的头像以及垂直堆叠在头像右侧的用户名和消息。布局很好,直到消息文本应该换行,而是我在列表框上得到一个水平滚动条。

我Googled并找到解决类似问题的解决方案,但没有一个工作。

<ListBox HorizontalContentAlignment="Stretch"  ItemsSource="{Binding Path=FriendsTimeline}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Border BorderBrush="DarkBlue" BorderThickness="3" CornerRadius="2" Margin="3" >
                    <Image Height="32" Width="32"  Source="{Binding Path=User.ProfileImageUrl}"/>
                </Border>
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="{Binding Path=User.UserName}"/>
                    <TextBlock Text="{Binding Path=Text}" TextWrapping="WrapWithOverflow"/> <!-- This is the textblock I'm having issues with. -->
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>
TextBlock的内容可以使用属性TextWrapping进行包装。
而不是StackPanel,使用DockPanel / Grid。
还有一件事 – 将ListBox的ScrollViewer.Horizo​​ntalScrollBarVisibility属性设置为Disabled。

更新隐藏到禁用基于马特的评论。感谢Matt。

http://stackoverflow.com/questions/397257/force-textblock-to-wrap-in-wpf-listbox

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:强制TextBlock包装在WPF ListBox中