包含Itemcontrol的WPF ScrollViewer Horizo​​ntal不会剪辑/添加滚动

时间:2017-08-26 13:45:56

标签: wpf layout

我试图在水平滚动查看器中设置多个项目(在本例中为测试按钮),因此您可以向左和向右滚动。 不知何故,这是不起作用,收集整个控件,包含ScrollViewer自我调整大小(所以它适合所有项目)或项目不能滚动,所以浮动,而不是在边界切割。以图为例:

jQuery

在图片中,Scrollview通常会在它顶部的行尾结束...

代码如下:

 <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>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您希望确保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}">