0

次のマークアップがあります。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>

    <TextBlock x:Name="Col1" Text="Text1" Grid.Column="0" />
    <TextBlock x:Name="Col2" Text="Text12" Grid.Column="1" />
</Grid>

文字をたくさん入れるCol1と画面からはみ出してCol2全く見えなくなりました。テキストが多すぎる場合はCol1幅が狭くなり、Col2完全に表示されるように、その動作を変更したいと思います。

一方、マークアップを次のように変更すると:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>

    <TextBlock x:Name="Col1" Text="Text1" Grid.Column="0" />
    <TextBlock x:Name="Col2" Text="Text12" Grid.Column="1" />
</Grid>

TextBlocks をどのように動作させたいかを示す画像を次に示します。

2 つの TextBlock を合わせた幅は画面よりも小さいため、次々に表示されます。 ここに画像の説明を入力

最初の Text ブロックは非常に長いため、画面内に 2 番目の TextBlock を含めるためにトリミングされます。 ここに画像の説明を入力

テキストが多い場合はすべて問題ありCol1ませんが、テキストの量が少ない場合は と の間にギャップがCol1ありCol2ます。両方の状況で望ましい動作を得るにはどうすればよいですか?

4

1 に答える 1

1

改訂;

<Grid HorizontalAlignment="Left">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>    
    <TextBlock x:Name="Col1" Text="Text1" />
    <TextBlock x:Name="Col2" Text="Text12" Grid.Column="1" TextWrapping="Wrap" />
</Grid>

次に、全体のサイズを制限することに注意してください。これは、別のような親パネル コンテナーに配置されます。Grid

于 2013-01-17T15:19:53.663 に答える