SimpleScrollBar

此页仅适用于 WPF 项目

滚动条是一种简单控件,可根据 Value 属性在滚动条上的某个位置显示一个标记。在 Microsoft Expression Blend 中,可以通过使用“属性”面板的“布局”下的 Orientation 属性,来设置滚动条的方向。可以在“属性”面板中的“公共属性”下,设置滚动条的 MinimumMaximum 和当前 Value 。当前值必须介于最小值和最大值之间。

SimpleScrollBar 控件的美工板视图

Cc295211.db3af5e5-8b09-42e7-b541-543b3b2bbcb3(zh-cn,Expression.40).png

控件模板的分类详解

SimpleScrollBar 控件模板由下列项组成:

  • 名为 GridRoot Grid 面板,用于在滚动条中存放多个子对象。同时,使用 Grid 也是为了便于您向模板中添加更多对象。 Grid 分为三行:顶部行和底部行的大小设置为最大值,以便它们不会扩展超过 18 个像素(即设备无关单位,每单位约等于 1/96 英寸);中间行的大小设置为星号 (*),表示在窗口扩展时,它会随之扩展。

  • 两个分别名为 DecreaseRepeat IncreaseRepeat RepeatButton 对象,用于在滚动条上移动位置标记。 RepeatButton 对象包含用于显示箭头的内容。同样地,这两个对象也使用 Grid 作为根对象,以便用户轻松编辑 Path 对象(名为 DecreaseArrowIncreaseArrow )以及添加其他内容。

  • 名为 PART_Track Track 对象,用于沿滚动条显示一个 Thumb 对象。滚动条公开的部分分为两个 RepeatButtons ,分别名为 PageDownPageUp 。这两个元素均使用了可单独编辑的 SimpleScrollRepeatButtonStyle 模板。Track 的 I IncreaseRepeatButtonDecreaseRepeatButton 部分使用了 Command 绑定,以便它们能够调用滚动条类中的命令。 Thumb 对象使用了可单独编辑的 SimpleThumbStyle 模板。

  • 布局转换 :用于在水平方向上显示滑块。这种设计可以简化编辑样式的操作,因为它不需要记住编辑两个不同的模板。但是,也会出现两个方向的差别必须足够大,从而需要单独模板的情况。在这种情况下,可以在 Expression Blend 的“XAML”视图中,在 Style 元素中使用 Setter 元素来根据方向切换模板。 ScrollBar 系统控件的默认模板中就包含这种情况的示例。

    Caution note小心:

    不要重命名名称以“PART_”开头的任何对象,因为在实现该控件的代码中引用了这些对象。

使用的属性触发器

控件模板中的属性触发器可用于使控件响应属性改变。可以在“触发器”面板中单击各项,以查看在触发器处于活动状态时更改的属性。例如,在 SimpleScrollBar 模板中,当 Orientation 属性为 Horizontal 时,有多个属性会改变,以反映进度栏的新方向。

使用的画笔

SimpleScrollBar 模板仅为 Foreground 属性使用一个系统画笔资源。其他画笔资源均在 SimpleScrollBar 所使用的模板(例如 SimpleRepeatButtonSimpleThumbStyleSimpleScrollRepeatButtonStyle 模板)中引用。若要更改 SimpleScrollBar 的外观,您可以修改这些模板使用的画笔,也可以创建新模板。

最佳实用技巧和设计准则

  • 一般来说,如果希望设计人员能够向控件添加更多可视元素,则可将 Grid 控件用作模板的根元素。Expression Blend 会查找 Grid 控件等版式面板,并且默认将其激活,从而使添加到美工板上的新对象最终成为该版式面板的子对象。

  • 您可以将 SimpleScrollBar 模板应用于 ScrollViewer 的模板中使用的滚动条。

  • 由于 SimpleScrollBar 模板使用了其他模板,因此浏览模板的各个级别以找到要更改的模板会非常麻烦。若要直接编辑模板,可以在“资源”面板中单击模板名称旁边的“编辑资源”按钮。然后,在样式的编辑模式下,右键单击“对象和时间线”面板中的“Style”,指向“编辑模板”,然后单击“编辑当前模板”。或者,可以直接删除对子模板的引用(在“属性”面板的“杂项”下重置 Style 属性),并在一个模板中设计所有内容,这样做会简单一些。

  • 为了使控件正常工作,必须保留对控件的类发出命令的命令绑定,并提供另一种方式以便在控件以及表示控件的类之间建立约定。这些绑定存在于 IncreaseRepeatDecreaseRepeatPageUpPageDown 对象的 Command 属性中,并存在于 Orientation=Horizontal 触发器中。

  • 如果需要,您可以向 SimpleScrollBar 模板中添加触发器,或修改 PART_Track 对象中的各个对象,使滚动条看起来更有趣。如果这样做,请不要重命名 PART_Track 对象或任何其子对象,因为在实现控件的代码中会引用这些对象。 PART_Track 对象可以找到其部件,因为这些部件放在特定的控件标题下: Track.IncreaseRepeatButtonTrack.DecreaseRepeatButtonTrack.ThumbThumb 也是可拖动的特定 Windows Presentation Foundation (WPF) 控件。

另请参阅

任务

动手试验:自定义 SimpleScrollBar 的外观

Microsoft Corporation 版权所有 ⓒ 2011。保留所有权利。