我有一个控件列表,放入一个stackpanel。这些控件是Hubtiles,在用户创建后以编程方式添加 - 本质上是一个列表。我需要创建添加它们的StackPanel,可滚动 - 对此最好的方法是什么?我应该将堆栈面板放在ScrollView中,然后使用Hubtile的实际高度增加StackPanels高度 - 使其可滚动,但不是这样,用户可以在没有任何东西的情况下滚动无限。因此,只要StackPanel内的控件数量达到3,它就会自动增加它的高度:
每当StackPanel内的控件数量达到3或更高时:
StackPanel.Height = StackPanel.Height + Hubtile.ActualHeight;
非常感谢!
答案 0 :(得分:7)
只需将StackPanel放入ScrollViewer ,将StackPanel.VerticalAlignment设置为Stretch,并将固定大小设置为父ScrollViewer。这是必要的 - ScrollViewer必须知道它的大小,以便在内部内容太长时显示内部内容的滚动条。