0

ラップパネル内に2つのテキストブロックがあります。テキストボックスの1つはビューモデルにバインドされており、もう1つには静的テキスト「:」が含まれています。私が望む動作は、最初のテキストボックスのコンテンツが特定の幅を超えて大きくなる場合、テキストを次の行に折り返すことです。これは、TextWrapping=wrapで可能です。しかし、私が欲しいのは、テキストブロックが成長している間、次のテキストブロックも一緒に2行目にプッシュすることです。

たとえば、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プロパティに:を追加できません。助けていただけますか?

4

1 に答える 1

1

これがまさにあなたが望むものであるかどうかはわかりませんが、これを試してみてください:

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

これは出力します:

111111
222222:
于 2013-01-17T18:27:58.323 に答える