WPFアプリケーションには、内部にいくつかのコントロールを含むStackpanelがあります。このスタックパネルにスクロールバーを追加するにはどうすればよいですか。
ScrollViewer
に入れてください。
Stackpanelにはスクロールメカニズムが組み込まれていませんが、ScrollViewerでStackPanelをいつでもラップできます。
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel ... />
</ScrollViewer>
それはこのように動作します:
<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);
水平方向のStackPanelの場合、両方のスクロールバーの可視性を明示的に配置することで、水平スクロールバーを取得できました。
<ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto" >
<StackPanel Orientation="Horizontal" />
</ScrollViewer>