.png)
滑块是一种“简单控件” ** ,可让用户通过移动 Thumb 控件来从一个值范围中进行选择。默认情况下,滑块呈水平显示,但可以在 Microsoft Expression Blend 的“属性”面板的“公共属性”下设置 Orientation 属性,将其改为垂直显示。若要设置滑块的值,请使用 Minimum 、 Maximum 和 Value 属性。
SimpleSlider 控件的美工板视图
.png)
控件模板的分类详解
SimpleSlider 控件模板由下列项组成:
名为“GridRoot”的 Grid 面板:用于在滑块中存放多个子对象。同时,使用 Grid 也是为了便于应用程序用户界面 (UI) 的设计人员向模板添加更多对象。 GridRoot 分为三行:顶部行容纳 TopTick 对象,中间行容纳 Thumb 对象,底部行容纳 BottomTick 对象。
分别名为 TopTick 和 BottomTick 的两个 TickBar 元素:用于在滑块上显示刻度线。默认情况下,这些元素的 Visibility 属性设置为 Collapsed 。 TickBar 元素根据对应用此模板的滑块控件设置的属性,确定要显示的刻度线数量。 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 系统控件的默认模板中就包含这种情况的示例。
小心:请勿重命名名称以“PART_”开头的任何元素,因为在实现该控件的代码中引用了这些元素。
使用的属性触发器
控件模板中的属性触发器可用于使控件响应属性改变。可以在“触发器”面板中单击各项,以查看在触发器处于活动状态时更改的属性。例如,在 SimpleSlider 模板中,使用触发器根据 TickPlacement 属性来显示 TickBar 元素。这可设置 TopTick 和 BottomTick 元素的可见性。也可在 SimpleSlider 模板的触发器中配置水平和垂直方向。这会对滑块应用布局转换,使其旋转 90 度。由于 Track 会自动确定自身方向,因此会将其强制返回,而不会被旋转两次。
使用的画笔
SimpleSlider 模板使用 SimpleStyles.xaml 资源字典中的下列画笔资源:
使用下列画笔资源设置 Background 属性:在未激活任何触发器时使用 LightBrush ;以及在 IsEnabled 为 False 时使用 DisabledBackgroundBrush 。
使用下列画笔资源设置 BorderBrush 属性:在未激活任何触发器时使用 NormalBorderBrush ;以及在 IsEnabled 为 False 时使用 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。保留所有权利。