我有一个WPF C#项目的问题,我的表单上有一个StackPanel,我有一个DockPanel,它以编程方式添加了项目,问题是这些项目超出了表单的界限,我想滚动浏览这些,我已经有了一个“滚动”项目的方法,但对于我的生活,我不明白为什么滚动条没有出现在屏幕上,我错过了什么?
代码如下,任何建议都非常欢迎。
private void ScrollifyStackpanel(StackPanel Panel)
{
ScrollViewer SV = new ScrollViewer();
SV.Height = Panel.ActualHeight;
SV.Width = Panel.ActualWidth;
SV.CanContentScroll = true;
SV.Content = Panel;
}
的Xaml
这是包含(应该是)可滚动内容的堆栈面板
<StackPanel Name="divParentPanel" VerticalAlignment="Top" DockPanel.Dock="Left" Margin="10" Width="Auto" HorizontalAlignment="Stretch" CanVerticallyScroll="True">
答案 0 :(得分:1)
指定ScrollBar
Visibility
:
ScrollViewer SV = new ScrollViewer();
SV.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
SV.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;
有时,
ScrollViewer
无法在尺寸变化的确切时刻检测ScrollBars
的必要性。它完全是context
具体但始终将visibility
设置为Visible
是安全的。
答案 1 :(得分:0)
@Reece尝试设置堆栈面板的高度。因为StackPanel不能拥有动态高度。或者你可以使用Grid而不是StackPanel