1. ホーム
  2. wpf

StackPanel内でScrollViewerを動作させるには?

2023-11-29 05:54:23

質問

次のWPF XAMLでは、ScrollViewerは動作しません(スクロールバーは表示されますが、スクロールできず、コンテンツはウィンドウの底に移動します)。

外側のStackPanelをGridに変更すると動作するのですが。

しかし、以下のコードを再現した私のアプリケーションでは、外側のStackPanelを持つ必要があります。 ScrollViewerに使用可能なスクロールバーを表示させるために、StackPanelに何をしなければなりませんか。 例えば、VerticalAlignment="Stretch" Height="Auto"は機能しません。

 <StackPanel>
        <ScrollViewer>
            <StackPanel>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
                <TextBlock Text="This is a test"/>
            </StackPanel>
        </ScrollViewer>
 </StackPanel>

どのように解決するのですか?

の高さを固定しないと無理です。 StackPanel . これは一方向に無限に成長するように設計されています。私は、別の Panel . なぜ外側の StackPanel ?