Browse Source

add fixes

pull/8224/head
daniel mayost 4 years ago
parent
commit
b6e66047f2
  1. 11
      src/Avalonia.Controls/ComboBox.cs
  2. 18
      tests/Avalonia.Controls.UnitTests/FlowDirectionTests.cs

11
src/Avalonia.Controls/ComboBox.cs

@ -434,11 +434,12 @@ namespace Avalonia.Controls
{
if (SelectionBoxItem is Rectangle rectangle)
{
var content = (rectangle.Fill as VisualBrush)!.Visual as Control;
var flowDirection = (((IVisual)content!).VisualParent as Control)?.FlowDirection ??
FlowDirection.LeftToRight;
rectangle.FlowDirection = flowDirection;
if ((rectangle.Fill as VisualBrush)?.Visual is Control content)
{
var flowDirection = (((IVisual)content!).VisualParent as Control)?.FlowDirection ??
FlowDirection.LeftToRight;
rectangle.FlowDirection = flowDirection;
}
}
}

18
tests/Avalonia.Controls.UnitTests/FlowDirectionTests.cs

@ -17,7 +17,23 @@ namespace Avalonia.Controls.UnitTests
}
[Fact]
public void HasMirrorTransform_Of_Children_Is_Updated_After_Change()
public void HasMirrorTransform_Of_LTR_Children_Should_Be_True_For_RTL_Parent()
{
Control child;
var target = new Decorator
{
FlowDirection = FlowDirection.RightToLeft,
Child = child = new Control()
};
child.FlowDirection = FlowDirection.LeftToRight;
Assert.True(target.HasMirrorTransform);
Assert.True(child.HasMirrorTransform);
}
[Fact]
public void HasMirrorTransform_Of_Children_Is_Updated_After_Parent_Changeed()
{
Control child;
var target = new Decorator

Loading…
Cancel
Save