You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Avalonia 11.2.0 ProgressBar throws System.ArgumentException if you set the Padding property
System.ArgumentException: -0,2 is not a valid value for 'Width.
at Avalonia.PropertyStore.ValueStore.SetValue[T](StyledProperty`1 property, T value, BindingPriority priority)
at Avalonia.AvaloniaObject.SetValue[T](StyledProperty`1 property, T value, BindingPriority priority)
at Avalonia.Layout.Layoutable.set_Width(Double value)
at Avalonia.Controls.ProgressBar.UpdateIndicator()
at Avalonia.Controls.ProgressBar.OnApplyTemplate(TemplateAppliedEventArgs e)
at Avalonia.Controls.Primitives.TemplatedControl.ApplyTemplate()
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutHelper.MeasureChild(Layoutable control, Size availableSize, Thickness padding, Thickness borderThickness)
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutHelper.MeasureChild(Layoutable control, Size availableSize, Thickness padding)
at Avalonia.Controls.Decorator.MeasureOverride(Size availableSize)
at Avalonia.Controls.Primitives.VisualLayerManager.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.Layoutable.MeasureOverride(Size availableSize)
at Avalonia.Controls.Window.MeasureOverride(Size availableSize)
at Avalonia.Controls.WindowBase.MeasureCore(Size availableSize)
at Avalonia.Layout.Layoutable.Measure(Size availableSize)
at Avalonia.Layout.LayoutManager.Measure(Layoutable control)
at Avalonia.Layout.LayoutManager.ExecuteInitialLayoutPass()
at Avalonia.Controls.Window.ShowCore(Window owner)
at Avalonia.Controls.Window.Show()
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.ShowMainWindow()
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.StartCore(String[] args)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
at AvaloniaApplication4.Program.Main(String[] args) in E:\work\tests\AvaloniaApplication4\AvaloniaApplication4\Program.cs:line 12
@pavelovcharov maybe you are right about that finding. If you have an idea how to fix it feel free to open a PR. Mind that template can change in theory while control is already loaded.
Describe the bug
In Avalonia 11.2.0 ProgressBar throws System.ArgumentException if you set the Padding property
To Reproduce
Add a ProgressBar control to your XAML markup
Expected behavior
No exception should be thrown
Avalonia version
11.2.0
OS
No response
Additional context
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Controls/ProgressBar.cs#L348
Looks like the UpdateIndicator method should not be called in the OnApplyTemplate method, because the ProgressBar's visual tree is not measured yet
The text was updated successfully, but these errors were encountered: