slider(滑动条)控件模版,样式--用图片定义控件模版
初接觸wpf,想自己用圖片做一個個性slider滑塊控件,網(wǎng)上找了很久無果。后來一些機緣巧合看別人源碼的時候找到了類似的,然后自己再查了一下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自定義類似上述
需要知道RepeatButton分兩部分,一部分滑塊是劃過的區(qū)域,一部分是滑塊還沒滑過的區(qū)域。
?
相關說明:
SnapsToDevicePixels可以將此特性添加到您的根元素的true啟用呈現(xiàn)在 UI 中的像素對齊。對運行在大于 96每英寸點數(shù) (dpi)的計算機,像素的呈現(xiàn)最大程度地減少抗鋸齒可視化項目在一個度量單位的實線附近。
?
如果設置OverridesDefaultStyle到控件的true,則會禁止顯示主題樣式提供的默認控件模板。
?
Template獲取或設置控件模板。
?
Rectangle繪制一個矩形形狀,該形狀可以具有筆畫和填充。
Fill獲取或設置指定形狀內部繪制方式的Brush
?
Stretch獲取或設置一個Stretch 枚舉值,該值描述形狀如何填充為它分配的空間(對于Ellipse 或Rectangle,默認Stretch行為是 Fill,因為它們的整個調整大小邏輯都基于Width 和Height。將Ellipse 或Rectangle 的Stretch設置為 None 可以有效地使其不呈現(xiàn)出來。)
?
System.Windows.Shapes提供對可在可擴展應用程序標記語言 (XAML)或代碼中使用的基本形狀庫的訪問。同時還包括 Path 類,該類可以加載路徑數(shù)據(jù),以便通過對象模型或內聯(lián)格式描述復合幾何圖形。
?
TriggerWPF 樣式和模板化模型允許在 Style 內部指定觸發(fā)器。從本質上講,觸發(fā)器是可以讓您在某些條件(例如某個屬性值變?yōu)?span style="font-family:'Times New Roman';"> true或者某個事件發(fā)生時)得到滿足時應用更改的對象。
?
Track表示一個處理Thumb 控件的定位和大小調整的控件基元和兩個用于設置Value 的RepeatButton 控件。
Orientation獲取或設置Slider 的方向。Vertical垂直。Horizontal水平
?
繪圖相關:
| Ellipse | 繪制一個橢圓。 |
| Line | 在兩個點之間繪制一條直線。 |
| Path | 繪制一系列相互連接的直線和曲線。 直線和曲線維度通過 Data 屬性聲明,并且可以使用 Path 特定的 mini-language 或使用對象模型來指定。 |
| Polygon | 繪制一個多邊形,它是形成閉合形狀的一系列相互連接的直接。 |
| Polyline | 繪制一系列相互連接的直線。 |
| Rectangle | 繪制一個矩形形狀,該形狀可以具有筆畫和填充。 |
| Shape | 為 Ellipse、Polygon 和Rectangle 之類的形狀元素提供基類。 |
轉載于:https://www.cnblogs.com/fornet/archive/2013/02/21/2976171.html
總結
以上是生活随笔為你收集整理的slider(滑动条)控件模版,样式--用图片定义控件模版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求岁月无声歌词
- 下一篇: 用VS(c#)创建、调试windows