瀏覽代碼

bugfix: ScrollBar will be hidden when ScrollBarVisibility is specified as Visible (#17718)

* test:A unittest for debug MenuScrollingVisibilityConverter

* bugfix: ScrollBar will be hidden when ScrollBarVisibility is specified as Visible
metaone01 10 月之前
父節點
當前提交
af11240107

+ 5 - 0
src/Avalonia.Controls/Converters/MenuScrollingVisibilityConverter.cs

@@ -57,6 +57,11 @@ namespace Avalonia.Controls.Converters
                 return true;
             }
 
+            if (visibility == ScrollBarVisibility.Visible)
+            {
+                return true;
+            }
+
             return false;
         }
     }

+ 9 - 0
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<object> args = new List<object> {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 &&