【问题标题】:How to Wrap a TextBlock in a Horizontal StackPanel如何在水平 StackPanel 中包装 TextBlock
【发布时间】:2013-11-30 21:19:57
【问题描述】:

我有一系列 TextBlocks,它们都需要包裹它们的文本,但是当放置在 Horizo​​ntal StackPanel 中时,没有包裹 TextBlock 的文本。最初我只有一个包含几个 TextBlock 的 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>

如何将文本换行到水平 StackPanel 内的第二个 TextBlock 中?

【问题讨论】:

  • 如果您为堆栈面板分配宽度图,也可以解决问题。这里需要自动。

标签: c# windows-phone-7 windows-phone-8 textblock stackpanel


【解决方案1】:

我最终一起删除了 StackPanel 实现,并创建了一个网格,每个项目符号/文本块组合都有 2 列和足够的行。然后我将第一列设置为小宽度,将另一列设置为剩余宽度。然后我相应地添加了每个项目符号/文本块组合。

<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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 2019-11-11
    相关资源
    最近更新 更多