您的位置:首页 > Web前端 > CSS

slider(滑动条)控件模版,样式--用图片定义控件模版

2013-02-21 17:16 344 查看
初接触wpf,想自己用图片做一个个性slider滑块控件,网上找了很久无果。后来一些机缘巧合看别人源码的时候找到了类似的,然后自己再查了一下msdn,大概弄懂了。

 

我们先来看看slider控件组成元素。

Slider控件组成:



用图片自定义thumb(滑块):
<Style x:Key="SliderThumbStyle" TargetType="{x:Type Thumb}">
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Height" Value="133" />
<Setter Property="Width" Value="211" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Rectangle>
<Rectangle.Fill>
<ImageBrush ImageSource="Assets/thumb.png" Stretch="None"/>
</Rectangle.Fill>
</Rectangle>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

 

RepeatButton自定义类似上述

需要知道[b]RepeatButton分两部分,一部分滑块是划过的区域,一部分是滑块还没滑过的区域。[/b]

 

相关说明:

SnapsToDevicePixels可以将此特性添加到您的根元素的true启用呈现在 UI
中的像素对齐。对运行在大于 96每英寸点数 (dpi)的计算机,像素的呈现最大程度地减少抗锯齿可视化项目在一个度量单位的实线附近。

 

如果设置OverridesDefaultStyle到控件的true,则会禁止显示主题样式提供的默认控件模板。

 

Template获取或设置控件模板。

 

Rectangle绘制一个矩形形状,该形状可以具有笔画和填充。

Fill获取或设置指定形状内部绘制方式的Brush

 

Stretch获取或设置一个Stretch
枚举值,该值描述形状如何填充为它分配的空间(对于Ellipse
Rectangle,默认Stretch行为是

Fill,因为它们的整个调整大小逻辑都基于Width
Height。将Ellipse
Rectangle
的Stretch设置为

None 可以有效地使其不呈现出来。)

 

System.Windows.Shapes提供对可在可扩展应用程序标记语言 (XAML)或代码中使用的基本形状库的访问。同时还包括

Path 类,该类可以加载路径数据,以便通过对象模型或内联格式描述复合几何图形。

 

TriggerWPF
样式和模板化模型允许在
Style 内部指定触发器。从本质上讲,触发器是可以让您在某些条件(例如某个属性值变为 true或者某个事件发生时)得到满足时应用更改的对象。

 

Track表示一个处理Thumb
控件的定位和大小调整的控件基元和两个用于设置Value
RepeatButton
控件。

Orientation获取或设置Slider
的方向。Vertical垂直。Horizontal水平

 

绘图相关:

Ellipse
绘制一个椭圆。
Line
在两个点之间绘制一条直线。
Path
绘制一系列相互连接的直线和曲线。 直线和曲线维度通过
Data 属性声明,并且可以使用 Path 特定的 mini-language 或使用对象模型来指定。
Polygon
绘制一个多边形,它是形成闭合形状的一系列相互连接的直接。
Polyline
绘制一系列相互连接的直线。
Rectangle
绘制一个矩形形状,该形状可以具有笔画和填充。
Shape

Ellipse、PolygonRectangle 之类的形状元素提供基类。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# WPF
相关文章推荐