【问题标题】:WPF ScrollViewer Horizontal containing Itemcontrol doesn't clip / adds scrollWPF ScrollViewer Horizo​​ntal 包含 Itemcontrol 不剪辑/添加滚动
【发布时间】:2023-03-25 00:15:01
【问题描述】:

我试图在水平滚动查看器中有几个项目(在这种情况下是用于测试的按钮),以便您可以向左和向右滚动。 不知何故,这是行不通的,包含 ScrollViewer 的总控件会自行调整其大小(因此它适合所有项目),或者项目无法滚动并因此浮动并且不会在边界处被剪切。以这张图片为例:

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>

感谢您的帮助!

【问题讨论】:

    标签: wpf layout


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 1970-01-01
      • 2019-07-13
      • 2022-07-30
      • 2011-02-06
      • 2016-03-19
      • 2010-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多