Skip to content
This repository was archived by the owner on Dec 18, 2023. It is now read-only.

Commit c7a7fbb

Browse files
committed
fixed style of progressbar and add richtextboxstyle
1 parent 818d315 commit c7a7fbb

File tree

6 files changed

+162
-16
lines changed

6 files changed

+162
-16
lines changed

CookPopularControl/Resources/Dictionaries/ValueConverter.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
<pt:EqualityToBooleanConverter x:Key="EqualityToBooleanConverter" />
2929
<pt:ValueLessThanTargetValueToBooleanConverter x:Key="ValueLessThanTargetValueToBooleanConverter" />
3030
<pt:ValueMoreThanTargetValueToBooleanConverter x:Key="ValueMoreThanTargetValueToBooleanConverter" />
31+
<!--ToBrushOrColor-->
32+
<pt:BrushToColorConverter x:Key="BrushToColorConverter" />
3133
<!--ToCornerRadius-->
3234
<pt:DoubleToCornerRadiusConverter x:Key="DoubleToCornerRadiusConverter" />
3335
<pt:CornerRadiusToCornerRadiusConverter x:Key="CornerRadiusToCornerRadiusConverter" />

CookPopularControl/Themes/BaseStyle/ProgressBarBaseStyle.xaml

Lines changed: 92 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
</ResourceDictionary.MergedDictionaries>
1010

1111
<Style x:Key="LinearProgressBarBaseStyle" TargetType="{x:Type ProgressBar}">
12-
<Setter Property="IsIndeterminate" Value="False" />
1312
<Setter Property="Foreground" Value="{DynamicResource AssistantThemeBrush}" />
1413
<Setter Property="Background" Value="{DynamicResource PrimaryThemeBrush}" />
1514
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}" />
1615
<Setter Property="BorderThickness" Value="0" />
1716
<Setter Property="Padding" Value="5,0" />
1817
<Setter Property="SnapsToDevicePixels" Value="True" />
18+
<Setter Property="IsIndeterminate" Value="False" />
1919
<Setter Property="Template">
2020
<Setter.Value>
2121
<ControlTemplate TargetType="{x:Type ProgressBar}">
@@ -44,7 +44,7 @@
4444
BorderBrush="{TemplateBinding BorderBrush}"
4545
BorderThickness="{TemplateBinding BorderThickness}"
4646
Background="{TemplateBinding Background}"
47-
CornerRadius="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ProgressBar}, Path=(common:FrameworkElementBaseAttached.CornerRadius)}">
47+
CornerRadius="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=(common:FrameworkElementBaseAttached.CornerRadius)}">
4848
<Grid x:Name="IconGrid" Visibility="{TemplateBinding pc:LinearProgressBarAssistant.IsShowIcon, Converter={pt:BooleanToVisibilityConverter}}">
4949
<Path Width="{TemplateBinding pc:LinearProgressBarAssistant.IconSize}"
5050
Height="{TemplateBinding pc:LinearProgressBarAssistant.IconSize}"
@@ -90,19 +90,19 @@
9090
<TranslateTransform />
9191
</TransformGroup>
9292
</Grid.RenderTransform>
93-
<Border Background="{TemplateBinding Foreground}" CornerRadius="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ProgressBar}, Path=(common:FrameworkElementBaseAttached.CornerRadius)}">
93+
<Border Background="{TemplateBinding Foreground}" CornerRadius="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=(common:FrameworkElementBaseAttached.CornerRadius)}">
9494
<Viewbox Margin="{TemplateBinding Padding}"
9595
SnapsToDevicePixels="True"
9696
HorizontalAlignment="Left"
9797
StretchDirection="DownOnly">
9898
<StackPanel Orientation="Horizontal">
9999
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value, StringFormat={}{0:F0}%}"
100-
Foreground="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ProgressBar}, Path=(pc:LinearProgressBarAssistant.TextColor)}"
100+
Foreground="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=(pc:LinearProgressBarAssistant.TextColor)}"
101101
FontSize="{TemplateBinding FontSize}"
102102
SnapsToDevicePixels="True"
103103
VerticalAlignment="{TemplateBinding VerticalAlignment}"
104104
RenderTransformOrigin="0.5,0.5"
105-
Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ProgressBar}, Path=(pc:LinearProgressBarAssistant.IsShowPercent), Converter={pt:BooleanToVisibilityConverter}}">
105+
Visibility="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=(pc:LinearProgressBarAssistant.IsShowPercent), Converter={pt:BooleanToVisibilityConverter}}">
106106
<TextBlock.RenderTransform>
107107
<TransformGroup>
108108
<ScaleTransform ScaleX="-1" ScaleY="1" />
@@ -173,6 +173,93 @@
173173
</Setter>
174174
</Style>
175175

176+
<Style x:Key="ProgressBarStripeBaseStyle" TargetType="{x:Type ProgressBar}">
177+
<Setter Property="Foreground" Value="{DynamicResource AssistantThemeBrush}" />
178+
<Setter Property="Background" Value="{DynamicResource PrimaryThemeBrush}" />
179+
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}" />
180+
<Setter Property="BorderThickness" Value="1" />
181+
<Setter Property="IsIndeterminate" Value="True" />
182+
<Setter Property="Template">
183+
<Setter.Value>
184+
<ControlTemplate TargetType="{x:Type ProgressBar}">
185+
<Grid x:Name="TemplateRoot" SnapsToDevicePixels="True" Effect="{TemplateBinding common:FrameworkElementBaseAttached.ShadowEffect}">
186+
<Border BorderBrush="{TemplateBinding BorderBrush}"
187+
BorderThickness="{TemplateBinding BorderThickness}"
188+
Background="{TemplateBinding Background}"
189+
CornerRadius="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=(common:FrameworkElementBaseAttached.CornerRadius)}" />
190+
<Border x:Name="PART_Track" />
191+
<AdornerDecorator x:Name="PART_Indicator" HorizontalAlignment="Left">
192+
<Border x:Name="Animation"
193+
CornerRadius="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=(common:FrameworkElementBaseAttached.CornerRadius)}"
194+
RenderTransformOrigin="0.5,0.5"
195+
Visibility="Hidden">
196+
<Border.Background>
197+
<DrawingBrush TileMode="Tile" Viewport="0,0,20,20" ViewportUnits="Absolute">
198+
<DrawingBrush.Transform>
199+
<TranslateTransform x:Name="animTranslate" />
200+
</DrawingBrush.Transform>
201+
<DrawingBrush.Drawing>
202+
<GeometryDrawing>
203+
<GeometryDrawing.Brush>
204+
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1" SpreadMethod="Repeat">
205+
<LinearGradientBrush.RelativeTransform>
206+
<ScaleTransform ScaleX="0.5" ScaleY="0.5" />
207+
</LinearGradientBrush.RelativeTransform>
208+
<GradientStop Offset="0" Color="Transparent" />
209+
<GradientStop Offset="0.5" Color="Transparent" />
210+
<GradientStop Offset="0.5" Color="{Binding Foreground, Converter={x:Static pt:BrushToColorConverter.Instance}, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
211+
<GradientStop Offset="1" Color="{Binding Foreground, Converter={x:Static pt:BrushToColorConverter.Instance}, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
212+
</LinearGradientBrush>
213+
</GeometryDrawing.Brush>
214+
<GeometryDrawing.Geometry>
215+
<RectangleGeometry Rect="0,0,20,20" />
216+
</GeometryDrawing.Geometry>
217+
</GeometryDrawing>
218+
</DrawingBrush.Drawing>
219+
</DrawingBrush>
220+
</Border.Background>
221+
</Border>
222+
</AdornerDecorator>
223+
<VisualStateManager.VisualStateGroups>
224+
<VisualStateGroup x:Name="CommonStates">
225+
<VisualState x:Name="Determinate" />
226+
<VisualState x:Name="Indeterminate">
227+
<Storyboard>
228+
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="Animation" Storyboard.TargetProperty="Visibility" Duration="0">
229+
<DiscreteObjectKeyFrame KeyTime="0">
230+
<DiscreteObjectKeyFrame.Value>
231+
<Visibility>Visible</Visibility>
232+
</DiscreteObjectKeyFrame.Value>
233+
</DiscreteObjectKeyFrame>
234+
</ObjectAnimationUsingKeyFrames>
235+
<DoubleAnimation Storyboard.TargetName="animTranslate" Storyboard.TargetProperty="X"
236+
From="0" To="100" Duration="0:0:1"
237+
RepeatBehavior="Forever" />
238+
</Storyboard>
239+
</VisualState>
240+
</VisualStateGroup>
241+
</VisualStateManager.VisualStateGroups>
242+
</Grid>
243+
<ControlTemplate.Triggers>
244+
<MultiTrigger>
245+
<MultiTrigger.Conditions>
246+
<Condition Property="IsIndeterminate" Value="True" />
247+
<Condition Property="Orientation" Value="Vertical" />
248+
</MultiTrigger.Conditions>
249+
<MultiTrigger.Setters>
250+
<Setter Property="LayoutTransform" TargetName="TemplateRoot">
251+
<Setter.Value>
252+
<RotateTransform Angle="-90" />
253+
</Setter.Value>
254+
</Setter>
255+
</MultiTrigger.Setters>
256+
</MultiTrigger>
257+
</ControlTemplate.Triggers>
258+
</ControlTemplate>
259+
</Setter.Value>
260+
</Setter>
261+
</Style>
262+
176263
<Style x:Key="CircularProgressBarBaseStyle" TargetType="{x:Type ProgressBar}">
177264
<Setter Property="Foreground" Value="{DynamicResource AssistantThemeBrush}" />
178265
<Setter Property="Background" Value="Transparent" />

CookPopularControl/Themes/DefaultPopularControl.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/PasswordBoxStyle.xaml" />
3030
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/ProgressBarStyle.xaml" />
3131
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/RadioButtonStyle.xaml" />
32+
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/RichTextBoxStyle.xaml" />
3233
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/ScrollBarStyle.xaml" />
3334
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/ScrollViewerStyle.xaml" />
3435
<ResourceDictionary Source="pack://application:,,,/CookPopularControl;component/Themes/SliderStyle.xaml" />
@@ -100,6 +101,7 @@
100101
<Style x:Key="{x:Type ProgressBar}" TargetType="{x:Type ProgressBar}" BasedOn="{StaticResource DefaultProgressBarStyle}" />
101102
<Style x:Key="{x:Type RadioButton}" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource DefaultRadioButtonStyle}" />
102103
<Style x:Key="{x:Type ResizeGrip}" TargetType="{x:Type ResizeGrip}" BasedOn="{StaticResource DefaultResizeGripStyle}" />
104+
<Style x:Key="{x:Type RichTextBox}" TargetType="{x:Type RichTextBox}" BasedOn="{StaticResource DefaultRichTextBoxStyle}" />
103105
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}" BasedOn="{StaticResource DefaultScrollBarStyle}" />
104106
<Style x:Key="{x:Type ScrollViewer}" TargetType="{x:Type ScrollViewer}" BasedOn="{StaticResource DefaultScrollViewerStyle}" />
105107
<Style x:Key="{x:Type Separator}" TargetType="{x:Type Separator}" BasedOn="{StaticResource {x:Static MenuItem.SeparatorStyleKey}}" />

CookPopularControl/Themes/ProgressBarStyle.xaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,18 @@
1111
<Setter Property="common:FrameworkElementBaseAttached.CornerRadius" Value="2" />
1212
<Setter Property="common:FrameworkElementBaseAttached.ShadowEffect" Value="{x:Null}" />
1313
<Setter Property="pc:LinearProgressBarAssistant.IsShowIcon" Value="False" />
14-
<Setter Property="pc:LinearProgressBarAssistant.IconSize" Value="30" />
14+
<Setter Property="pc:LinearProgressBarAssistant.IconSize" Value="20" />
1515
<Setter Property="pc:LinearProgressBarAssistant.IsShowPercent" Value="True" />
1616
<Setter Property="pc:LinearProgressBarAssistant.TextColor" Value="{DynamicResource AssistantForegroundBrush}" />
1717
</Style>
1818
<Style x:Key="AirFanLinearProgressBarStyle" TargetType="{x:Type ProgressBar}" BasedOn="{StaticResource DefaultProgressBarStyle}">
1919
<Setter Property="pc:LinearProgressBarAssistant.IsShowIcon" Value="True" />
2020
</Style>
2121

22+
<Style x:Key="ProgressBarStripeStyle" TargetType="{x:Type ProgressBar}" BasedOn="{StaticResource ProgressBarStripeBaseStyle}">
23+
<Setter Property="common:FrameworkElementBaseAttached.CornerRadius" Value="2" />
24+
</Style>
25+
2226
<Style x:Key="CircularProgressBarStyle" TargetType="{x:Type ProgressBar}" BasedOn="{StaticResource CircularProgressBarBaseStyle}">
2327
<Setter Property="pc:CircularProgressAssistant.ArcThickness" Value="15" />
2428
<Setter Property="pc:LinearProgressBarAssistant.IsShowPercent" Value="True" />
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
xmlns:common="clr-namespace:CookPopularControl.Communal"
4+
xmlns:pc="clr-namespace:CookPopularControl.Controls">
5+
6+
<Style x:Key="TextBoxBaseBaseStyle" TargetType="{x:Type TextBoxBase}">
7+
<Setter Property="BorderBrush" Value="{DynamicResource FieldBorderBrush}" />
8+
<Setter Property="Foreground" Value="{DynamicResource PrimaryForegroundBrush}" />
9+
<Setter Property="Background" Value="{DynamicResource PrimaryBackgroundBrush}" />
10+
<Setter Property="BorderThickness" Value="1" />
11+
<Setter Property="CaretBrush" Value="{DynamicResource PrimaryForegroundBrush}" />
12+
<Setter Property="KeyboardNavigation.TabNavigation" Value="None" />
13+
<Setter Property="HorizontalContentAlignment" Value="Left" />
14+
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
15+
<Setter Property="AllowDrop" Value="true" />
16+
<Setter Property="Padding" Value="2,7" />
17+
<Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst" />
18+
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
19+
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
20+
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
21+
<Setter Property="Template">
22+
<Setter.Value>
23+
<ControlTemplate TargetType="TextBoxBase">
24+
<Border x:Name="border"
25+
BorderBrush="{TemplateBinding BorderBrush}"
26+
BorderThickness="{TemplateBinding BorderThickness}"
27+
Background="{TemplateBinding Background}"
28+
CornerRadius="{Binding Path=(common:FrameworkElementBaseAttached.CornerRadius), RelativeSource={RelativeSource TemplatedParent}}"
29+
SnapsToDevicePixels="True">
30+
<ScrollViewer x:Name="PART_ContentHost"
31+
Padding="{TemplateBinding Padding}"
32+
Focusable="false"
33+
HorizontalScrollBarVisibility="{Binding Path=(ScrollViewer.HorizontalScrollBarVisibility), RelativeSource={RelativeSource TemplatedParent}}"
34+
VerticalScrollBarVisibility="{Binding Path=(ScrollViewer.VerticalScrollBarVisibility), RelativeSource={RelativeSource TemplatedParent}}" />
35+
</Border>
36+
<ControlTemplate.Triggers>
37+
<Trigger Property="IsEnabled" Value="false">
38+
<Setter Property="Opacity" Value="0.4" TargetName="border" />
39+
</Trigger>
40+
<Trigger Property="IsMouseOver" Value="true">
41+
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}" TargetName="border" />
42+
</Trigger>
43+
<Trigger Property="IsFocused" Value="true">
44+
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryThemeBrush}" TargetName="border" />
45+
</Trigger>
46+
</ControlTemplate.Triggers>
47+
</ControlTemplate>
48+
</Setter.Value>
49+
</Setter>
50+
</Style>
51+
52+
<Style x:Key="DefaultRichTextBoxStyle" TargetType="{x:Type RichTextBox}" BasedOn="{StaticResource TextBoxBaseBaseStyle}">
53+
<Setter Property="MinWidth" Value="10" />
54+
<Setter Property="common:FrameworkElementBaseAttached.CornerRadius" Value="2" />
55+
</Style>
56+
57+
</ResourceDictionary>

0 commit comments

Comments
 (0)