public void IScrollProvider_VerticalMethods () { ScrollViewer viewer = new ScrollViewer () { HorizontalScrollBarVisibility = ScrollBarVisibility.Auto, VerticalScrollBarVisibility = ScrollBarVisibility.Auto }; AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement (viewer); IScrollProvider p = (IScrollProvider) peer.GetPattern (PatternInterface.Scroll); viewer.Content = new Button { Width = 1000, Height = 1000 }; CreateAsyncTest (viewer, () => viewer.ApplyTemplate (), // Visible and MaxHeight = 0 () => { viewer.MaxHeight = 0; viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Visible; }, () => Assert.IsTrue (p.VerticallyScrollable, "#1"), () => Assert.AreEqual ((viewer.ViewportHeight * 100) / viewer.ExtentHeight, p.VerticalViewSize, "#2"), () => Assert.AreEqual (viewer.VerticalOffset, p.VerticalScrollPercent, "#3"), // Visible and MaxHeight = 200 () => viewer.MaxHeight = 200, () => Assert.IsTrue (p.VerticallyScrollable, "#4"), () => Assert.AreEqual ((viewer.ViewportHeight * 100) / viewer.ExtentHeight, p.VerticalViewSize, "#5"), () => Assert.AreEqual (viewer.VerticalOffset, p.VerticalScrollPercent, "#6"), // Hidden and MaxHeight = 0 () => { viewer.MaxHeight = 0; viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden; }, () => Assert.IsTrue (p.VerticallyScrollable, "#7"), () => Assert.AreEqual ((viewer.ViewportHeight * 100) / viewer.ExtentHeight, p.VerticalViewSize, "#8"), () => Assert.AreEqual (viewer.VerticalOffset, p.VerticalScrollPercent, "#9"), // Hidden and MaxHeight = 200 () => viewer.MaxHeight = 200, () => Assert.IsTrue (p.VerticallyScrollable, "#10"), () => Assert.AreEqual ((viewer.ViewportHeight * 100) / viewer.ExtentHeight, p.VerticalViewSize, "#11"), () => Assert.AreEqual (viewer.VerticalOffset, p.VerticalScrollPercent, "#12"), // Disabled and MaxHeight = 0 () => { viewer.MaxHeight = 0; viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Disabled; }, () => Assert.IsFalse (p.VerticallyScrollable, "#13"), () => Assert.AreEqual (100d, p.VerticalViewSize, "#14"), () => Assert.AreEqual (0d, viewer.ExtentHeight, "#15"), () => Assert.AreEqual (ScrollPatternIdentifiers.NoScroll, p.VerticalScrollPercent, "#16"), // Disabled and MaxHeight = 200 () => viewer.MaxHeight = 200, () => Assert.IsFalse (p.VerticallyScrollable, "#17"), () => Assert.AreEqual (100d, p.VerticalViewSize, "#18"), () => Assert.AreNotEqual (0d, viewer.ExtentHeight, "#19"), () => Assert.AreEqual (ScrollPatternIdentifiers.NoScroll, p.VerticalScrollPercent, "#20"), // Auto and MaxHeight = 0 () => { viewer.MaxHeight = 0; viewer.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; }, () => Assert.IsTrue (p.VerticallyScrollable, "#21"), () => Assert.AreEqual ((viewer.ViewportHeight * 100) / viewer.ExtentHeight, p.VerticalViewSize, "#22"), () => Assert.AreEqual (viewer.VerticalOffset, p.VerticalScrollPercent, "#23"), // Auto and MaxHeight = 200 () => viewer.MaxHeight = 200, () => Assert.IsTrue (p.VerticallyScrollable, "#24"), () => Assert.AreEqual ((viewer.ViewportHeight * 100) / viewer.ExtentHeight, p.VerticalViewSize, "#25"), () => Assert.AreEqual (viewer.VerticalOffset, p.VerticalScrollPercent, "#26") ); }