欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WPF ScrollViewer滚动条不起作用问题解决

程序员文章站 2022-06-08 22:14:06
...

最近使用ScrollViewer发现同样的代码有时候滚动条效果有的实现有的失效,很是苦恼,研究了一下发现这个控件是否起作用取决于很重要的属性就是高度

1、如果父级控件高度确定有Heiht属性,或者父级控件是根节点那么ScrollViewer自身是不需要设置高度的,如

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      WindowTitle="ScrollViewer Sample">
  <ScrollViewer HorizontalScrollBarVisibility="Auto">
    <StackPanel VerticalAlignment="Top" HorizontalAlignment="Left">
      <TextBlock TextWrapping="Wrap" Margin="0,0,0,20">Scrolling is enabled when it is necessary. 
      Resize the window, making it larger and smaller.</TextBlock>
      <Rectangle Fill="Red" Width="500" Height="500"></Rectangle>
    </StackPanel>
  </ScrollViewer>
</Page>

2、如果父级控件没有设置高度,那就需要给ScrollViewer设置高度来控制滚动条,如

   <StackPanel>
        <ScrollViewer Name="scroll" Margin="0,50" Width="720"  Height="200" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" >
       
                    <TextBlock    Name="OldMessage"   Foreground="White" Margin="20,10" />         
               
  </ScrollViewer>
 </StackPanel>