WPF系列教程(十四):特殊容器控件ScrollViewer
ScrollViewer是一个可以滚动的控件。它使得大量内容在有限容器内显示成为可能。在窗体中添加ScrollViewer控件,在ScrollViewer中添加一个文本框TextBox,将Text属性设置为较长的字符串。(可以用word的语句自动生成功能,在word中输入函数=rand(1,2)即可)利用滚动条的效果:ScrollViewer有一个滚动条设置的属性,在垂直方向有VerticalSc
ScrollViewer是一个可以滚动的控件。它使得大量内容在有限容器内显示成为可能。
项目源码
在窗体中添加ScrollViewer控件,在ScrollViewer中添加一个文本框TextBox,将Text属性设置为较长的字符串。
(可以用word的语句自动生成功能,在word中输入函数=rand(1,2)
即可)
利用滚动条的效果:
ScrollViewer有一个滚动条设置的属性,在垂直方向有VerticalScrollBarVisibility=“Hidden”
有四种取值,分别是:
Visible:显示滚动条
Hidden:隐藏滚动条,用光标仍然可以滚动内容
Disable:隐藏滚动条,用光标不可以滚动内容
Auto:只有当内容超出容器时才会显示滚动条
以上四种取值均可用滑轮滚动内容。
同样的,在水平方向,也有HorizontalScrollBarVisibility属性。
还可以通过其他控件来控制滚动条的滚动和页面的滚动。
例如,添加两个向上向下按钮,Button1,Button2,Button,Button4。
分别定义他们的点击事件响应函数:
private void Button1_Click(object sender, RoutedEventArgs e)
{
this.ScrollViewer1.LineUp(); // LineUp方法等价于按下一次滚动条上面的向上按钮
}
private void Button2_Click(object sender, RoutedEventArgs e)
{
this.ScrollViewer1.LineDown(); // LineDown方法等价于按下一次滚动条上面的向下按钮
}
private void Button3_Click(object sender, RoutedEventArgs e)
{
this.ScrollViewer1.PageUp(); // 向上翻页
}
private void Button4_Click(object sender, RoutedEventArgs e)
{
this.ScrollViewer1.PageDown(); // 向下翻页
}
还有通过ScrollToTop直接滚动到顶部和通过ScroolToEnd直接滚动到底部的方法。
private void Button5_Click(object sender, RoutedEventArgs e)
{
this.ScrollViewer1.ScrollToTop(); // 翻到顶部
}
private void Button6_Click(object sender, RoutedEventArgs e)
{
this.ScrollViewer1.ScrollToEnd(); // 翻到底部
}
自定义滚动
如图所示的窗口里面放置了四个Button控件,在点击滚动条上下按键时无法保证让某一个控件完全显示,此时只要将ScrollViewer的CanContentScroll属性设为True即可。<ScrollViewer Margin="3" CanContentScroll="True">
。这样就能以控件为单元进行滚动,而不是逐行滚动。
但是这个属性只有部分容器可以使用,例如StackPannel
<ScrollViewer Margin="3" CanContentScroll="True">
<StackPanel Margin="2">
<Button Name="Button1" Width="100" Height="100" Content="Button1"/>
<Button Name="Button2" Width="100" Height="100" Content="Button2"/>
<Button Name="Button3" Width="100" Height="100" Content="Button3"/>
<Button Name="Button4" Width="100" Height="100" Content="Button4"/>
</StackPanel>
</ScrollViewer>
更多推荐
所有评论(0)