diff --git a/src/Avalonia.Controls/Control.cs b/src/Avalonia.Controls/Control.cs index c8149fec10..8c6ac0718a 100644 --- a/src/Avalonia.Controls/Control.cs +++ b/src/Avalonia.Controls/Control.cs @@ -324,24 +324,17 @@ namespace Avalonia.Controls protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) { base.OnPropertyChanged(change); - + if (change.Property == FlowDirectionProperty) { - // A change in value inherited should be prevented from calling this method - // because it will be handled from here - if (GetBaseValue(FlowDirectionProperty, change.Priority).HasValue) + InvalidateFlowDirection(); + + foreach (var visual in VisualChildren) { - InvalidateFlowDirection(); - - foreach (var visual in this.GetVisualDescendants()) + if (visual is Control child) { - if (visual is Control child) - { - child.InvalidateFlowDirection(); - } + child.InvalidateFlowDirection(); } - - InvalidateVisual(); } } } diff --git a/src/Avalonia.Visuals/Visual.cs b/src/Avalonia.Visuals/Visual.cs index b72b4e1f45..42e0ad3b88 100644 --- a/src/Avalonia.Visuals/Visual.cs +++ b/src/Avalonia.Visuals/Visual.cs @@ -114,7 +114,8 @@ namespace Avalonia ClipProperty, ClipToBoundsProperty, IsVisibleProperty, - OpacityProperty); + OpacityProperty, + IsMirrorTransformProperty); RenderTransformProperty.Changed.Subscribe(RenderTransformChanged); ZIndexProperty.Changed.Subscribe(ZIndexChanged); }