Wpf 将文本与相邻控件一起换行到下一行

Wpf 将文本与相邻控件一起换行到下一行,wpf,xaml,Wpf,Xaml,我在一个包装面板中有两个文本块。其中一个文本框绑定到我的视图模型,另一个包含静态文本“:”。我想要的行为是,如果第一个文本框内容超过特定宽度,它会将文本包装到下一行。这可以通过text wrapping=wrapp实现。但我想要的是,当textblock增长时,它会将下一个textblock连同它一起推到第二行 例如,如果TextblockOne有文本1111111222222,textblock2有文本:那么我应该得到 111111 22222: 而不是 1111111: 2222222 以下

我在一个包装面板中有两个文本块。其中一个文本框绑定到我的视图模型,另一个包含静态文本“:”。我想要的行为是,如果第一个文本框内容超过特定宽度,它会将文本包装到下一行。这可以通过text wrapping=wrapp实现。但我想要的是,当textblock增长时,它会将下一个textblock连同它一起推到第二行

例如,如果TextblockOne有文本1111111222222,textblock2有文本:那么我应该得到

111111

22222:

而不是

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>


注意:我无法附加:to viewmodel属性。您能提供帮助吗?

不确定这是否正是您想要的,但请尝试一下:

<WrapPanel Orientation="Horizontal" Grid.Column="0">
    <TextBlock  TextWrapping="Wrap">
        <Run Text="11111111111111111111112222222222222222222222222222"/>
        <Run Text=":"/>
    </TextBlock>
</WrapPanel>

这将输出:

111111 222222: 111111 222222:
我并没有看到它使用您发布的代码进行包装,您是否有您看到的屏幕上限?