包含项控件的水平 WPF 滚动查看器不剪辑/添加滚动



我正在尝试在水平滚动查看器中有几个项目(在本例中为用于测试的按钮(,因此您可以向左和向右滚动。 不知何故,这是行不通的,吃掉包含 ScrollViewer 的整个控件,可以自行调整其大小(因此适合所有项目(,或者项目无法滚动,因此浮动并且不会在边框处被剪切。请参阅此图像作为示例:

滚动查看器

在图片中,滚动视图通常会在其顶部的行尾结束......

代码如下:

<ScrollViewer x:Name="scroller" Grid.Column="1" CanContentScroll="True" HorizontalScrollBarVisibility="Auto" Margin="5"  Foreground="{x:Null}">
<ItemsControl Margin="5,0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<Button Width="180" Height="80" Margin="5,0"/>
<Button Width="180" Height="80" Margin="5,0"/>
...
</ItemsControl>
</ScrollViewer>

感谢您的帮助!

如果您希望确保 ScrollViewer 保持恒定大小,请将其设置为 Width 和 MaxWidth,使其恒定。这也可能有助于将水平对齐方式更改为中心。

例如。

<ScrollViewer x:Name="scroller" Grid.Column="1" CanContentScroll="True" HorizontalScrollBarVisibility="Auto" Margin="5" Width="100" MaxWidth="100" HorizontalAlignment="Center" Foreground="{x:Null}">

最新更新