我在包装面板中有2个文本块。其中一个文本框绑定到我的视图模型,另一个包含静态文本“:”。我想要的行为是,如果第一个文本框内容增长超过特定宽度,它将文本包装到下一行。 TextWrapping = wrap可以实现这一点。但我想要的是当文本块增长时,它会将下一个文本块与它一起推送到第二行。
例如,如果TextblockOne有文本1111111222222222并且textblock2有文本:那么我应该得到像
这样的东西111111
222222:
而不是
1111111:
2222222
以下是我的代码:
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<WrapPanel Orientation="Horizontal" Grid.Column="0">
<TextBlock Text="11111111111111111111112222222222222222222222222222" TextWrapping="WrapWithOverflow" />
<TextBlock Text=":"/>
</WrapPanel>
</Grid>
注意:我无法将:追加到viewmodel属性。可以帮忙吗?
答案 0 :(得分:1)
不确定这是否正是您想要的,但请尝试一下:
<WrapPanel Orientation="Horizontal" Grid.Column="0">
<TextBlock TextWrapping="Wrap">
<Run Text="11111111111111111111112222222222222222222222222222"/>
<Run Text=":"/>
</TextBlock>
</WrapPanel>
这将输出:
111111 222222: