19

ウィンドウへのストレッチに合わせて aTextBlock内に aがあります。次のように動作するScrollViewer必要があります。TextBlock

  • ウィンドウでサイズ変更、スクロールバーなし
  • 特定の幅以下にサイズ変更する と、スクロールバーTextBlockを保持する必要があり、表示されるはずですMinWidth
  • TextWrappingまたはTextTrimming適切に動作する必要があります

この機能を取得するにはどうすればよいですか?

ActualWidth&へのバインディングを含むいくつかの方法を試しましたが、うまくいきActualHeightません。

これはそれほど難しいことではありません。何が欠けていますか?

XamlPad に配置するコード サンプルを次に示します (MinWidth はまだ設定されていません)。

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
            <TextBlock TextWrapping="Wrap" Text="Some really long text that should probably wordwrap when you resize the window." />
    </ScrollViewer>
</Window>
4

2 に答える 2

26

これは機能します:

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ScrollViewer HorizontalScrollBarVisibility="Auto" 
                  VerticalScrollBarVisibility="Auto"
                  Name="Scroller">
        <TextBlock HorizontalAlignment="Stretch"
                   VerticalAlignment="Stretch"
                   MinWidth="100"
                   Width="{Binding ElementName=Scroller, Path=ViewportWidth}"
                   TextWrapping="Wrap"
                   Text="Some really long text that should probably wordwrap when you resize the window." />
    </ScrollViewer>
</Window>
于 2009-12-30T19:56:16.500 に答える
2

詳細は省きますが、私ができる最善の方法は、これを行う標準的な方法を提供することです。基本的に、要素 (最小サイズ) をスクロール ビューアでホストします。scrollviewer のサイズが小さすぎて要素が完全に収まらない場合は、スクロール バーが自動的に表示されます。例:

<ScrollViewer>
    <Button MinWidth="100" MinHeight="50"/>
</ScrollViewer>
于 2009-12-30T17:03:01.873 に答える