0

当 TextBlock 是 ItemsControl 中每个项目的模板时,我在试图弄清楚如何进行 TextBlock 换行时发现了这个问题。

我的原始模板:

<ItemsControl.ItemTemplate>
    <DataTemplate>
        <Grid>
            <TextBlock Padding="2" x:Name="SummaryRow" Text="{Binding}" TextWrapping="Wrap" />
        </Grid>
    </DataTemplate>
</ItemsControl.ItemTemplate>

为了使文本真正换行,我不得不用边框包围 TextBlock。我相信其他容器也可以。

为什么是这样?(顺便说一句,我应该提到 ItemsControl 在 ScrollViewer 中)

4

1 回答 1

2

对于要换行的文本,您需要restrict the size of the textBlock在文本超过限制限制时换行。但是由于您的 textBlock 外部有 scrollViewer,因此它的大小没有限制,因此没有换行。您需要设置HorizontalScrollBarVisbility to Collapsed or Hidden以限制文本的大小并因此换行。

于 2012-08-15T19:01:19.333 回答