ScrollBar控件派生自Silder控件,因此具有与Silder相似的特性与方法,此外ScrollBar还组合ScrollBarTrack、RepeatButton控件以形成一个类似Windows程序的滚动条。
ScrollBar的XAML声明如下所示。
<!-- 水平方向的滚动条 (用代码控制方向和范围) -->
<uicontrol:ScrollBar x:Name="hScrollBar" Canvas.Top="80" Canvas.Left="50" />
<!--垂直方向的滚动条 (用代码控制方向和范围)-->
<uicontrol:ScrollBar x:Name="vScrollBar" Canvas.Top="100" Canvas.Left="50" ScrollStep="25"/>
与Silder控件类似,也必须要通过代码控制方向和范围,在Page_Load事件中,添加如下的代码。
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
//必须添加此命名空间
using Silverlight.Samples.Controls;
namespace ScrollBarDemo
{
public partial class Page : Canvas
{
public void Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
//设置水平滚动条的范围
hScrollBar.Range = new ValueRange(0, 600);
//设置垂直滚动条的范围
vScrollBar.Range = new ValueRange(200, 5000);
//设置垂直滚动条的方向
vScrollBar.Orientation = Orientation.Vertical;
}
}
}
现在运行该应用程序,会看到如图所示的结果,可以拖动滚动条,也可以单击RepeatButton按钮改变滚动条的位置。
滚动条的目的还是滚动显示内容,由于ScrollBar派生自Silder,因此可以通过处理ValueChanged事件来编程处理内容的滚动。
Silverlight还提供了滚动查看器控件,当显示内容超出指定的范围时,自动为内容添加滚动条。