我有一系列TextBlocks,它们都需要包含文本,但是当放置在Horizontal StackPanel中时,TextBlock的文本都不会被包装。最初我只有几个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>
如何将文本包装在Horizontal StackPanel中的第二个TextBlock中?
答案 0 :(得分:0)
我最终一起删除了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