using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Shapes; namespace Tango.FSE.Common.Behaviors { public class CircularProgressBarBehavior : StyleBehavior { public static readonly DependencyProperty StrokeThicknessProperty = DependencyProperty.RegisterAttached("StrokeThickness", typeof(double), typeof(CircularProgressBarBehavior), new PropertyMetadata(3d)); public static double GetStrokeThickness(DependencyObject dependencyObject) { return (double)dependencyObject.GetValue(StrokeThicknessProperty); } protected override void OnAttached() { base.OnAttached(); // ReSharper disable once CompareOfFloatsByEqualityOperator var path = AssociatedObject.FindVisualChildren().FirstOrDefault(e => e.Name.Equals("Path")); if (path != null) path.StrokeThickness = GetStrokeThickness(AssociatedObject); } public static void SetStrokeThickness(DependencyObject dependencyObject, double value) { dependencyObject.SetValue(StrokeThicknessProperty, value); } } }