@@ -28,8 +28,7 @@ static MetroProgressBar()
28
28
DefaultStyleKeyProperty . OverrideMetadata ( typeof ( MetroProgressBar ) , new FrameworkPropertyMetadata ( typeof ( MetroProgressBar ) ) ) ;
29
29
IsIndeterminateProperty . OverrideMetadata ( typeof ( MetroProgressBar ) , new FrameworkPropertyMetadata ( OnIsIndeterminateChanged ) ) ;
30
30
}
31
-
32
- public MetroProgressBar ( )
31
+ public MetroProgressBar ( )
33
32
{
34
33
IsVisibleChanged += VisibleChangedHandler ;
35
34
}
@@ -304,20 +303,28 @@ private void LoadedHandler(object sender, RoutedEventArgs routedEventArgs)
304
303
SizeChangedHandler ( null , null ) ;
305
304
SizeChanged += SizeChangedHandler ;
306
305
}
307
-
308
- protected override void OnInitialized ( EventArgs e )
306
+
307
+ protected override void OnRenderSizeChanged ( SizeChangedInfo sizeInfo )
309
308
{
310
- base . OnInitialized ( e ) ;
309
+ base . OnRenderSizeChanged ( sizeInfo ) ;
310
+ UpdateEllipseProperties ( ) ;
311
+ }
311
312
313
+ private void UpdateEllipseProperties ( )
314
+ {
312
315
// Update the Ellipse properties to their default values
313
316
// only if they haven't been user-set.
314
- if ( EllipseDiameter . Equals ( 0 ) )
315
- {
316
- SetEllipseDiameter ( this . ActualSize ( true ) ) ;
317
- }
318
- if ( EllipseOffset . Equals ( 0 ) )
317
+ var actualSize = this . ActualSize ( true ) ;
318
+ if ( actualSize > 0 )
319
319
{
320
- SetEllipseOffset ( this . ActualSize ( true ) ) ;
320
+ if ( EllipseDiameter . Equals ( 0 ) )
321
+ {
322
+ SetEllipseDiameter ( actualSize ) ;
323
+ }
324
+ if ( EllipseOffset . Equals ( 0 ) )
325
+ {
326
+ SetEllipseOffset ( actualSize ) ;
327
+ }
321
328
}
322
329
}
323
330
}
0 commit comments