SimpleSlider

此页仅适用于 WPF 项目

滑块是一种“简单控件” ** ,可让用户通过移动 Thumb 控件来从一个值范围中进行选择。默认情况下,滑块呈水平显示,但可以在 Microsoft Expression Blend 的“属性”面板的“公共属性”下设置 Orientation 属性,将其改为垂直显示。若要设置滑块的值,请使用 MinimumMaximumValue 属性。

SimpleSlider 控件的美工板视图

Cc295377.50295968-6423-4517-9479-ed886201b731(zh-cn,Expression.40).png

控件模板的分类详解

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

  • 名为“GridRoot”的 Grid 面板:用于在滑块中存放多个子对象。同时,使用 Grid 也是为了便于应用程序用户界面 (UI) 的设计人员向模板添加更多对象。 GridRoot 分为三行:顶部行容纳 TopTick 对象,中间行容纳 Thumb 对象,底部行容纳 BottomTick 对象。

  • 分别名为 TopTick 和 BottomTick 的两个 TickBar 元素:用于在滑块上显示刻度线。默认情况下,这些元素的 Visibility 属性设置为 CollapsedTickBar 元素根据对应用此模板的滑块控件设置的属性,确定要显示的刻度线数量。 TickBar 元素不提供可编辑的模板,但是可以通过设置滑块控件的 Foreground 属性,来设置用于显示刻度线的画笔(即,此 TickBar 用模板绑定到滑块控件的 Foreground 属性)。

  • Border 元素:使用此元素是因为它包含 BorderThickness 属性,该属性可以用模板绑定到应用此模板的按钮控件的 BorderThickness 属性。

  • 名为“PART_Track”的 Track 元素:用于沿滚动条显示一个 Thumb 元素。用户可以拖动 Thumb 元素。默认情况下, Thumb 元素使用可由用户编辑的 SimpleThumbStyle 模板。

  • 两个 RepeatButton 元素:这两个元素包含在 PART_Track 元素中,使用户能够通过单击 Thumb 的任一端来对滑块值进行较大的更改。可以在滑块(而不是模板)的 LargeChange 属性中指定这些更改的步长值。 SmallChange 属性指定的步长值在用户使用箭头键移动 Thumb 时使用。

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

    Caution note 小心:

    请勿重命名名称以“PART_”开头的任何元素,因为在实现该控件的代码中引用了这些元素。

使用的属性触发器

控件模板中的属性触发器可用于使控件响应属性改变。可以在“触发器”面板中单击各项,以查看在触发器处于活动状态时更改的属性。例如,在 SimpleSlider 模板中,使用触发器根据 TickPlacement 属性来显示 TickBar 元素。这可设置 TopTickBottomTick 元素的可见性。也可在 SimpleSlider 模板的触发器中配置水平和垂直方向。这会对滑块应用布局转换,使其旋转 90 度。由于 Track 会自动确定自身方向,因此会将其强制返回,而不会被旋转两次。

使用的画笔

SimpleSlider 模板使用 SimpleStyles.xaml 资源字典中的下列画笔资源:

  • 使用下列画笔资源设置 Background 属性:在未激活任何触发器时使用 LightBrush ;以及在 IsEnabledFalse 时使用 DisabledBackgroundBrush

  • 使用下列画笔资源设置 BorderBrush 属性:在未激活任何触发器时使用 NormalBorderBrush ;以及在 IsEnabledFalse 时使用 DisabledBorderBrush

  • 使用 GlyphBrush 设置 TopTick 元素的 Foreground 属性。

  • 使用 NormalBrush 设置 SimpleThumb 模板的 Fill 属性,以及使用 NormalBorderBrush 设置 Stroke 属性。

最佳实用技巧和设计准则

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

  • 如果需要,可以向 SimpleSlider 模板中添加触发器,或者修改 PART_Track 元素,使滑块看起来更有趣,但是请勿重命名名称以“PART_”开头的任何元素,因为在实现该控件的代码中引用了这些元素。 Thumb 和重复按钮需要放在 Track 内的正确元素中。Track 控件知道如何根据 Slider 值放置 Thumb 元素。重复按钮使用 Command 绑定,来增大或减小滑块的值。

  • 在编辑 SimpleSlider 的模板时,可以使用“触发器”面板选择适当的触发器,强制显示 TickBar 元素。例如,在 SimpleSlider 模板中,当 TickPlacement 设置为 Both 时,将两个 TickBar 元素的 Visibility 属性设置为 Visible ,来显示这两个元素。

另请参阅

任务

动手试验:自定义 SimpleSlider 的 Thumb 元素

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