最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WPF如何自定義ProgressBar滾動條樣式

 更新時間:2019年06月02日 14:49:40   作者:一葉知秋,知寒冬  
這篇文章主要給大家介紹了關于WPF如何自定義ProgressBar滾動條樣式的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用WPF具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

一、前言

滾動條一般用于加載進度,我們在看視頻的時候或者在瀏覽網(wǎng)頁的時候經(jīng)常能看到加載進度的頁面。在程序開發(fā)中,默認的進度加載樣式可能跟程序風格不太一樣,或者加載進度的時候需要更改一下加載的樣式。這個時候就需要通過修改ProgressBar的樣式來實現(xiàn)。

二、ProgressBar的基本樣式

ProgressBar的基本樣式很簡單:

<Style TargetType="{x:Type ProgressBar}">
   <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
   <Setter Property="SnapsToDevicePixels" Value="True"/>
   <Setter Property="Height" Value="15"/>
   <Setter Property="Background" Value="#6fae5f"/>
   <Setter Property="FontSize" Value="10"/>
   <Setter Property="Padding" Value="5,0"/>
   <Setter Property="Template">
    <Setter.Value>
     <ControlTemplate TargetType="{x:Type ProgressBar}">
      <Grid Background="#00000000">
       <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
       </Grid.RowDefinitions>
       <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="CommonStates">
         <VisualState x:Name="Determinate"/>
         <VisualState x:Name="Indeterminate">
          <Storyboard RepeatBehavior="Forever">
           <PointAnimationUsingKeyFrames Storyboard.TargetName="Animation" Storyboard.TargetProperty="(UIElement.RenderTransformOrigin)">
            <EasingPointKeyFrame KeyTime="0:0:0" Value="0.5,0.5"/>
            <EasingPointKeyFrame KeyTime="0:0:1.5" Value="1.95,0.5"/>
            <EasingPointKeyFrame KeyTime="0:0:3" Value="0.5,0.5"/>
           </PointAnimationUsingKeyFrames>
          </Storyboard>
         </VisualState>
        </VisualStateGroup>
       </VisualStateManager.VisualStateGroups>
       
       <Grid Height="{TemplateBinding Height}">
        <Border Background="#000000" CornerRadius="7.5" Opacity="0.05"/>
        <Border BorderBrush="#000000" BorderThickness="1" CornerRadius="7.5" Opacity="0.1"/>
        <Grid Margin="{TemplateBinding BorderThickness}">
         <Border x:Name="PART_Track"/>
         <Grid x:Name="PART_Indicator" ClipToBounds="True" HorizontalAlignment="Left" >
          <Grid.ColumnDefinitions>
           <ColumnDefinition x:Name="width1"/>
           <ColumnDefinition x:Name="width2" Width="0"/>
          </Grid.ColumnDefinitions>
          <Grid x:Name="Animation" RenderTransformOrigin="0.5,0.5">
           <Grid.RenderTransform>
            <TransformGroup>
             <ScaleTransform ScaleY="-1" ScaleX="1"/>
             <SkewTransform AngleY="0" AngleX="0"/>
             <RotateTransform Angle="180"/>
             <TranslateTransform/>
            </TransformGroup>
           </Grid.RenderTransform>
           <Border Background="{TemplateBinding Background}" CornerRadius="7.5">
            <Viewbox HorizontalAlignment="Left" StretchDirection="DownOnly" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="True">
             <TextBlock Foreground="#ffffff" SnapsToDevicePixels="True" FontSize="{TemplateBinding FontSize}" VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Value,StringFormat={}{0}%}" RenderTransformOrigin="0.5,0.5">
              <TextBlock.RenderTransform>
               <TransformGroup>
                <ScaleTransform ScaleY="1" ScaleX="-1"/>
                <SkewTransform AngleY="0" AngleX="0"/>
                <RotateTransform Angle="0"/>
                <TranslateTransform/>
               </TransformGroup>
              </TextBlock.RenderTransform>
             </TextBlock>
            </Viewbox>
           </Border>
           <Border BorderBrush="#000000" BorderThickness="1" CornerRadius="7.5" Opacity="0.1"/>
          </Grid>
         </Grid>
        </Grid>
       </Grid>
      </Grid>
      <ControlTemplate.Triggers>
       
       <Trigger Property="IsEnabled" Value="False">
        <Setter Property="Background" Value="#c5c5c5"/>
       </Trigger>
       <Trigger Property="IsIndeterminate" Value="true">
        <Setter TargetName="width1" Property="Width" Value="0.25*"/>
        <Setter TargetName="width2" Property="Width" Value="0.725*"/>
       </Trigger>
      </ControlTemplate.Triggers>
     </ControlTemplate>
    </Setter.Value>
   </Setter>
  </Style>

引用示例:

<ProgressBar Height="15" Width="150" Value="40" Margin="10"/>

顯示效果:

所有代碼已經(jīng)上傳到github:https://github.com/cmfGit/WpfDemo.git

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • C# .NET創(chuàng)建虛擬目錄的方法詳解

    C# .NET創(chuàng)建虛擬目錄的方法詳解

    虛擬目錄(virtual directory),計算機術語,每個 Internet服務可以從多個目錄中發(fā)布。本文將為大家介紹如何通過C# asp.net mvc 創(chuàng)建虛擬目錄,感興趣的可以了解一下
    2022-01-01
  • WPF仿LiveCharts實現(xiàn)餅圖的繪制

    WPF仿LiveCharts實現(xiàn)餅圖的繪制

    這篇文章主要介紹了如何利用WPF仿LiveCharts實現(xiàn)餅圖的繪制,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下
    2022-07-07
  • C#常用GDI+文字操作匯總

    C#常用GDI+文字操作匯總

    這篇文章主要介紹了C#常用GDI+文字操作,包括文字投影、倒影、旋轉等特效,對于提升程序界面的視覺效果有很大的用處,需要的朋友可以參考下
    2014-08-08
  • C#中把字符串String轉換為整型Int的小例子

    C#中把字符串String轉換為整型Int的小例子

    這篇文章主要介紹了C#中把字符串String轉換為整型Int的小例子,本文使用TryParse方法實現(xiàn)轉換,需要的朋友可以參考下
    2014-08-08
  • c# 三種方法調用WebService接口

    c# 三種方法調用WebService接口

    這篇文章主要介紹了c# 三種方法調用WebService接口的相關資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C#基礎知識 全面解析可空類型

    C#基礎知識 全面解析可空類型

    C# 2.0 中還引入了可空類型,可空類型也是值類型,只是可空類型是包括null的值類型的,下面就介紹下C#2.0中對可空類型的支持具體有哪些內(nèi)容
    2012-11-11
  • c#連接mdf文件示例分享

    c#連接mdf文件示例分享

    這篇文章主要介紹了c#連接mdf文件示例,,需要的朋友可以參考下
    2014-03-03
  • 詳解C#中的定時器Timer類及其垃圾回收機制

    詳解C#中的定時器Timer類及其垃圾回收機制

    這篇文章主要介紹了C#中的定時器Timer類及其垃圾回收機制,講解了Timer相關的單線程異步工作,需要的朋友可以參考下
    2016-04-04
  • C#中增加SQLite事務操作支持與使用方法

    C#中增加SQLite事務操作支持與使用方法

    這篇文章主要介紹了C#中增加SQLite事務操作支持與使用方法,結合實例形式分析了C#中針對SQLite事務操作的添加及使用技巧,需要的朋友可以參考下
    2017-07-07
  • C#獲取動態(tài)生成的CheckBox值

    C#獲取動態(tài)生成的CheckBox值

    checkbox是VS2012的常用控件之一,可以方便的為某些功能取消或啟用,下面教你如何簡單使用checkbox。本文通過兩種方法給大家介紹,需要的朋友一起看看吧
    2015-09-09

最新評論

永顺县| 肥西县| 南雄市| 乌拉特后旗| 松滋市| 兴义市| 偏关县| 关岭| 睢宁县| 晴隆县| 巴中市| 象州县| 甘孜县| 怀集县| 禹城市| 睢宁县| 翁牛特旗| 页游| 长春市| 东乡族自治县| 辉南县| 隆子县| 虹口区| 巴楚县| 南漳县| 和顺县| 曲靖市| 瑞金市| 搜索| 黄冈市| 青河县| 儋州市| 青浦区| 博白县| 北票市| 墨竹工卡县| 新干县| 正安县| 崇文区| 安徽省| 南澳县|