简体   繁体   English

如何在水平StackPanel中包装TextBlock

[英]How to Wrap a TextBlock in a Horizontal StackPanel

I have a series of TextBlocks that all need to have their text wrapped, but when placed in a Horizontal StackPanel none of the TextBlock's text is wrapped. 我有一系列的TextBlocks,都需要包装它们的文本,但是当放置在水平StackPanel中时,不会包装任何TextBlock的文本。 Originally I just had a StackPanel of several TextBlocks which worked fine, but I added a bullet to each TextBlock for easier reading, and therefore with my new implementation I lost the wrapping ability 最初,我只有几个TextBlocks的StackPanel可以正常工作,但是我为每个TextBlock添加了一个项目符号以便于阅读,因此,在我的新实现中,我失去了包装功能

 <StackPanel Grid.Row="0" Orientation="Horizontal">
                        <TextBlock Text="•"/>
                        <TextBlock x:Name="InstructionsTextBlock1" Margin="12,0,12,0" TextWrapping="Wrap"
                           Text="{Binding Path=LocalizedResources.InstructionsPage_InstructionsTextBlock1, Source={StaticResource LocalizedStrings}}">

                <LineBreak></LineBreak>
                        </TextBlock>
                    </StackPanel>

How might I wrap the text in the second TextBlock within the Horizontal StackPanel? 如何将文本包装在水平StackPanel中的第二个TextBlock中?

I ended up removing the StackPanel implementation all together, and creating a grid whereby I had 2 Columns and enough Rows for each bullet/textblock combination. 最后,我一起删除了StackPanel实现,并创建了一个网格,其中每个项目符号/文本块组合都有2列和足够的行。 I then set the first column to a small width, and the other column to the remaining width. 然后,我将第一列设置为较小的宽度,将另一列设置为其余宽度。 I then added each bullet/textblock combination accordingly. 然后,我相应地添加了每个项目符号/文本块组合。

<ScrollViewer>
                <Grid Margin="12,0,0,0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width=".025*"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <TextBlock Grid.Row="0" Grid.Column="0" Text="•"/>
                    <TextBlock Grid.Row="0" Grid.Column="1" x:Name="InstructionsTextBlock1" Margin="12,0,12,0" TextWrapping="Wrap"
                           Text="{Binding Path=LocalizedResources.InstructionsPage_InstructionsTextBlock1, Source={StaticResource LocalizedStrings}}">

                <LineBreak></LineBreak>
                    </TextBlock>

                ...
              </Grid>
    </ScrollViewer

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

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