繁体   English   中英

为什么在ItemsControl模板中的TextBlock周围需要边框才能使TextBlock换行?

[英]Why is a Border needed around a TextBlock in an ItemsControl template to make the TextBlock wrap?

当TextBlock是ItemsControl中每个项目的模板时,我在尝试弄清楚如何制作TextBlock包装时发现了这个问题

我原来的模板:

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

为了使文本实际换行,我不得不用边框包围TextBlock。 我相信其他容器也会起作用。

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

对于要包装的文本,您需要restrict the size of the textBlock以便在文本超出限制限制时包装文本。 但是由于你的textBlock外面有scrollViewer,它的大小没有任何重复,因此没有换行。 您需要将HorizontalScrollBarVisbility to Collapsed or Hidden设置HorizontalScrollBarVisbility to Collapsed or Hidden来限制文本的大小和包装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM