12

ラップしたいテキストの長い行を持つ TextBlock があります。TextBlock を ViewBox 内に配置しましたが、折り返し中にテキスト サイズが変更されることを期待していますが、これは発生していないようです。ViewBox は、すべてのテキストが 1 行に収まるように TextBox のサイズを変更するだけで、テキストが非常に小さくなります。

TextWrapping を使用しながら、ViewBox を使用してテキストのサイズを変更するにはどうすればよいですか。

これが私のコードです:

<Viewbox>
    <TextBlock Text="The Option text can also dynamically grow/shrink to fit more content. More text to go here....................." TextWrapping="Wrap"/>
</Viewbox>

これは Windows 8 ストア アプリケーションの一部であり、WinRT Xaml も同様です。

4

3 に答える 3

27

に幅を設定するだけTextBlockです。

        <Viewbox Width="500">
            <TextBlock Width="100" TextWrapping="Wrap">This is the text that's long and on two lines.</TextBlock>
        </Viewbox>

幅 500 の ViewBox 内の幅 100 の TextBlock

そのためViewBox、コンテンツ全体をズームイン/ズームアウトします。の幅を設定して内容を制限しない場合、TextBlockViewBox拡張するための無限のスペースを提供します。Grid内に幅と高さを持つルートを追加ViewBoxし、その中に要素を配置することもできます。すると、全体が の幅に応じてズームされViewBoxます。

画像では、TextBlock100 の幅ViewBoxが 500 の幅になるようにズームされています。希望のラッピングを行うには、TextBlock見栄えがよくなるまで幅を微調整します。

(当然、3 行と表示されるはずですが、そのためだけに再アップロードするつもりはありません)

于 2013-07-18T20:02:06.583 に答える