【问题标题】:Show WPF ScrollViewer Vertical scroll bar on right always始终在右侧显示 WPF ScrollViewer 垂直滚动条
【发布时间】:2015-07-20 07:34:45
【问题描述】:

我正在使用 ScrollViewer 来显示一长串项目,并且我使用下面的 xaml 结构

<Grid Background="#bdbec0">
    <Grid Name="scroll_Area">
        <Grid  Background="#bdbec0">
            <Grid>                   
                <ScrollViewer Name="scrollAreaPageView" HorizontalAlignment="Center" VerticalAlignment="Center"                                     
                        HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">       
                        <StackPanel Orientation="Horizontal" >
                           //Long List of items here so either horizontal & vertical scrollbars are coming here based on content
                         </StackPanel>
                </ScrollViewer>
            </Grid>
        </Grid>
    </Grid>
</Grid>

xaml 显示滚动查看器和滚动查看器内的长内容。 但是当高度大于垂直滚动条时出现,但它只在中心。那么有什么方法可以使滚动条向右并仅将内容保持在中心?同样,如果宽度更大,水平滚动条的位置总是在底部 此处附上示例图片

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    要使滚动条出现在窗口的一侧,您必须使 Scrollviewer 伸展到窗口的边缘。 scrollviewer 的滚动条显示在右边缘(水平滚动条的下边缘)。

    做这样的事情:

    <Grid Background="#bdbec0">
        <Grid Name="scroll_Area">
            <Grid  Background="#bdbec0">
                <Grid>                   
                    <ScrollViewer Name="scrollAreaPageView"                                     
                            HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">       
                            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center" >
                               //Long List of items here so either horizontal & vertical scrollbars are coming here based on content
                             </StackPanel>
                    </ScrollViewer>
                </Grid>
            </Grid>
        </Grid>
    </Grid>
    

    我已经在 Scrollviewer 内创建了 Stackpanel 中心,并且 Scrollviewer 现在将拉伸填充它的父级。

    【讨论】:

      【解决方案2】:

      修复滚动查看器的大小,如果您不指定大小,滚动查看器默认具有无限增长的属性,一旦您指定大小并且内容滚动属性为true,它就会解决问题
      设置可以内容滚动为真。设置滚动条的垂直对齐和水平对齐。

      <Grid Background="#bdbec0">
              <Grid Name="scroll_Area">
                  <Grid  Background="#bdbec0">
                      <Grid>                   
                          <ScrollViewer Name="scrollAreaPageView" HorizontalAlignment="Right" VerticalAlignment="Top"                                     
                                  HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"  CanContentScroll="True">       
                                  <StackPanel Orientation="Horizontal" >
                                     //Long List of items here so either horizontal & vertical scrollbars are coming here based on content
                                   </StackPanel>
                          </ScrollViewer>
                      </Grid>
                  </Grid>
              </Grid>
          </Grid>  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-23
        • 1970-01-01
        • 2011-05-02
        • 2023-03-30
        • 1970-01-01
        相关资源
        最近更新 更多