From 5e31009dcffc3c8505fd48d7203ba216918675df Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 11 Nov 2020 22:22:08 +0800 Subject: [PATCH] add IsIndeterminate property for CircleProgressBar --- .../Controls/ProgressBarDemoCtl.xaml | 8 ++ .../Controls/ProgressBar/CircleProgressBar.cs | 11 +++ .../Styles/Base/ProgressBarBaseStyle.xaml | 78 ++++++++++++++++--- 3 files changed, 86 insertions(+), 11 deletions(-) diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressBarDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressBarDemoCtl.xaml index 71863f11..0a6721ba 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressBarDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressBarDemoCtl.xaml @@ -14,6 +14,14 @@ + + + + + + + + diff --git a/src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs b/src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs index e1ed5dfa..4aa11cc9 100644 --- a/src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs +++ b/src/Shared/HandyControl_Shared/Controls/ProgressBar/CircleProgressBar.cs @@ -1,4 +1,5 @@ using System.Windows; +using System.Windows.Controls; using System.Windows.Controls.Primitives; using HandyControl.Data; using HandyControl.Expression.Shapes; @@ -19,6 +20,10 @@ namespace HandyControl.Controls public static readonly DependencyProperty TextProperty = DependencyProperty.Register( "Text", typeof(string), typeof(CircleProgressBar), new PropertyMetadata(default(string))); + public static readonly DependencyProperty IsIndeterminateProperty = + ProgressBar.IsIndeterminateProperty.AddOwner(typeof(CircleProgressBar), + new FrameworkPropertyMetadata(ValueBoxes.FalseBox)); + private Arc _indicator; static CircleProgressBar() @@ -47,6 +52,12 @@ namespace HandyControl.Controls set => SetValue(ArcThicknessProperty, value); } + public bool IsIndeterminate + { + get => (bool)GetValue(IsIndeterminateProperty); + set => SetValue(IsIndeterminateProperty, value); + } + private void SetProgressBarIndicatorAngle() { if (_indicator == null) return; diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml index f42dd943..faff3c07 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml @@ -134,6 +134,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +