gpt4 book ai didi

wpf - 在 wpf 中的堆栈面板内平滑滚动

转载 作者:行者123 更新时间:2023-12-04 13:28:41 26 4
gpt4 key购买 nike

<ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<StackPanel Name="basePanel" Orientation="Vertical" Height="450" />
</ScrollViewer>

这是 stackpanel 的代码,它在运行时填充了多个 WrapPanel。 Scroll Viewer 滚动浏览面板 - 一次一个 - 这真的很不方便,因为所有面板的大小都不同。我试过这个 one通过在 StackPanel 中设置 ScrollViewer.CanContentScroll="False"属性,同时在 ScrollViewer 中删除它,没有帮助 - 滚动条完全消失了。平滑滚动条的解决方案是什么?

最佳答案

包裹您的 StackPanel在另一个面板中

WPF 的 ScrollViewer 尝试一次将整个元素滚动到 View 中,这就是您看到跳跃滚动行为的原因。通过将 StackPanel 嵌套在另一个面板中,ScrollViewer 将尝试将整个 StackPanel 滚动到 View 中,因为它太大了,因此将使用平滑滚动。

这是一个例子 - 删除 DockPanel 会给你一个跳跃的滚动,但有了它你会得到平滑的滚动行为

<ScrollViewer VerticalScrollBarVisibility="Auto" CanContentScroll="True" Height="250">
<DockPanel>
<StackPanel Name="basePanel" Orientation="Vertical" Width="200">
<Rectangle Height="75" Fill="Red" Width="200" />
<Rectangle Height="50" Fill="Orange" Width="200" />
<Rectangle Height="75" Fill="Yellow" Width="200" />
<Rectangle Height="75" Fill="Green" Width="200" />
<Rectangle Height="75" Fill="Black" Width="200" />
<Rectangle Height="75" Fill="Purple" Width="200" />
</StackPanel>
</DockPanel>
</ScrollViewer>

关于wpf - 在 wpf 中的堆栈面板内平滑滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com