Blame view

OS.Spin/OS.Spin.View/Style/ProgressBar.xaml 4.39 KB
8ca6e89d   Tuo Wenbo   20211021
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                      xmlns:local="clr-namespace:OS.Spin.View.Style"
                      xmlns:my="clr-namespace:OS.Spin.View.ProgressBar">
     
      <my:ProgressBarValueLocationConverter x:Key="progressBarValueLocationConverter"/>
      <my:ProgressBarValueTextFormatConverter x:Key="progressBarValueTextFormatConverter"/>
      <Style x:Key="myProgress" TargetType="{x:Type ProgressBar}">
          <Setter Property="Maximum" Value="100" />
          <Setter Property="Height" Value="70" />
          <Setter Property="Value" Value="20" />
          <Setter Property="Foreground" Value="#40a2c2"/>
          <Setter Property="SnapsToDevicePixels" Value="True" />
          <Setter Property="Template">
              <Setter.Value>
                  <ControlTemplate TargetType="{x:Type ProgressBar}">
                      <Grid x:Name="Root">
                          <Grid.RowDefinitions>
                              <RowDefinition></RowDefinition>
                              <RowDefinition Height="35" ></RowDefinition>
                          </Grid.RowDefinitions>
                          <Grid  Grid.Row="0">
                              <Canvas Grid.Row="0" Height="38">
                                  <Canvas x:Name="Tooltip" Canvas.Left="{Binding ActualWidth, ElementName=PART_Indicator,Converter={StaticResource progressBarValueLocationConverter}}">
                                      <Image x:Name="Shape_5" Height="30" Canvas.Left="4" Source="/images/Gloss 拷贝.png" Canvas.Top="2" Width="43">
                                          <Image.Effect>
                                              <DropShadowEffect BlurRadius="3" Color="Black" Direction="-90" Opacity="0.43" ShadowDepth="2"/>
                                          </Image.Effect>
                                      </Image>
                                      <TextBlock Text="{Binding Value,  RelativeSource={RelativeSource AncestorType={x:Type ProgressBar}},Converter={StaticResource progressBarValueTextFormatConverter}}" Foreground="White" FontWeight="Bold" FontSize="13" FontFamily="Helvetica75-Bold" IsHyphenationEnabled="True" LineStackingStrategy="BlockLineHeight" Canvas.Left="13" LineHeight="13" TextAlignment="Left" TextWrapping="Wrap" Canvas.Top="9.56">
                                          <TextBlock.Effect>
                                              <DropShadowEffect BlurRadius="0" Color="Black" Direction="-270" Opacity="1" ShadowDepth="1"/>
                                          </TextBlock.Effect>
                                      </TextBlock>
                                  </Canvas>
                              </Canvas>
                          </Grid>
  
                          <Path  Grid.Row="1" x:Name="PART_Track" Data="F1M8,1C8,1 335,1 335,1 338.866,1 342,4.134 342,8 342,11.866 338.866,15 335,15 335,15 8,15 8,15 4.134,15 1,11.866 1,8 1,4.134 4.134,1 8,1z"  Canvas.Left="0" Canvas.Top="0">
                              <Path.Effect>
                                  <DropShadowEffect BlurRadius="0" Color="White" Direction="-90" Opacity="0.26" ShadowDepth="1"/>
                              </Path.Effect>
                              <Path.Fill>
                                  <SolidColorBrush Color="Black" Opacity="0.23137254901960785"/>
                              </Path.Fill>
                          </Path>
                          <Border Grid.Row="1" x:Name="PART_Indicator" BorderBrush="Transparent" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="3,2,0,0" Height="12" MaxWidth="338" Background="{TemplateBinding Foreground}" CornerRadius="7.5,7.5,7.5,7.5" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"></Border>
  
                      </Grid>
                      <ControlTemplate.Triggers>
                                  <Trigger Property="Orientation" Value="Vertical">
                                      <Setter Property="LayoutTransform" TargetName="Root">
                                          <Setter.Value>
                                              <RotateTransform Angle="-90" />
                                          </Setter.Value>
                                      </Setter>
                                  </Trigger>
                              </ControlTemplate.Triggers>
                  </ControlTemplate>
              </Setter.Value>
          </Setter>
      </Style> 
  </ResourceDictionary>