diff --git a/src/Avalonia.Controls/Converters/MenuScrollingVisibilityConverter.cs b/src/Avalonia.Controls/Converters/MenuScrollingVisibilityConverter.cs index 18d668e9a4..fd39f584ae 100644 --- a/src/Avalonia.Controls/Converters/MenuScrollingVisibilityConverter.cs +++ b/src/Avalonia.Controls/Converters/MenuScrollingVisibilityConverter.cs @@ -57,6 +57,11 @@ namespace Avalonia.Controls.Converters return true; } + if (visibility == ScrollBarVisibility.Visible) + { + return true; + } + return false; } } diff --git a/tests/Avalonia.Controls.UnitTests/ScrollViewerTests.cs b/tests/Avalonia.Controls.UnitTests/ScrollViewerTests.cs index 31f095ba3a..4a858abc07 100644 --- a/tests/Avalonia.Controls.UnitTests/ScrollViewerTests.cs +++ b/tests/Avalonia.Controls.UnitTests/ScrollViewerTests.cs @@ -469,6 +469,15 @@ namespace Avalonia.Controls.UnitTests Assert.Equal(new Vector(0, 0), target.Offset); } + [Fact] + public void MenuScrollBar_Should_Be_Visible_When_Specified_Visible() + { + Converters.MenuScrollingVisibilityConverter converter = Converters.MenuScrollingVisibilityConverter.Instance; + IList args = new List {ScrollBarVisibility.Visible,400d,1800d,500d}; + var result = converter.Convert(args, typeof(ScrollBarVisibility), "0", System.Globalization.CultureInfo.CurrentCulture); + Assert.Equal(true, result); + } + private Point GetRootPoint(Visual control, Point p) { if (control.GetVisualRoot() is Visual root &&