web-dev-qa-db-ja.com

StackpanelにScrollBarを追加する方法

WPFアプリケーションには、内部にいくつかのコントロールを含むStackpanelがあります。このスタックパネルにスクロールバーを追加するにはどうすればよいですか。

95
Shamim Hafiz

ScrollViewer に入れてください。

144
Joey

Stackpanelにはスクロールメカニズムが組み込まれていませんが、ScrollViewerでStackPanelをいつでもラップできます。

<ScrollViewer VerticalScrollBarVisibility="Auto">
  <StackPanel ... />
</ScrollViewer>
88
biju

それはこのように動作します:

<ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" Width="340" HorizontalAlignment="Left" Margin="12,0,0,0">
        <StackPanel Name="stackPanel1" Width="311">

        </StackPanel>
</ScrollViewer>

TextBox tb = new TextBox();
tb.TextChanged += new TextChangedEventHandler(TextBox_TextChanged);
stackPanel1.Children.Add(tb);
9
arnisz

水平方向のStackPanelの場合、両方のスクロールバーの可視性を明示的に配置することで、水平スクロールバーを取得できました。

    <ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto" >
        <StackPanel Orientation="Horizontal" />
    </ScrollViewer>
2
VijayKP