public void InvalidateScroll_Should_Be_Cleared_When_Removed_From_Content() { var scrollable = new TestScrollable(); var target = new ScrollContentPresenter { Content = scrollable }; target.ApplyTemplate(); target.Content = null; target.ApplyTemplate(); Assert.Null(scrollable.InvalidateScroll); }
public void BringDescendentIntoView_Should_Handle_Child_Margin() { Border border; var target = new ScrollContentPresenter { Width = 100, Height = 100, Content = new Decorator { Margin = new Thickness(50), Child = border = new Border { Width = 200, Height = 200, } } }; target.ApplyTemplate(); target.Measure(Size.Infinity); target.Arrange(new Rect(0, 0, 100, 100)); target.BringDescendentIntoView(border, new Rect(200, 200, 0, 0)); Assert.Equal(new Vector(150, 150), target.Offset); }
public void Extent_Offset_And_Viewport_Should_Be_Read_From_IScrollable() { var scrollable = new TestScrollable { Extent = new Size(100, 100), Offset = new Vector(50, 50), Viewport = new Size(25, 25), }; var target = new ScrollContentPresenter { Content = scrollable }; target.ApplyTemplate(); Assert.Equal(scrollable.Extent, target.Extent); Assert.Equal(scrollable.Offset, target.Offset); Assert.Equal(scrollable.Viewport, target.Viewport); scrollable.Extent = new Size(200, 200); scrollable.Offset = new Vector(100, 100); scrollable.Viewport = new Size(50, 50); Assert.Equal(scrollable.Extent, target.Extent); Assert.Equal(scrollable.Offset, target.Offset); Assert.Equal(scrollable.Viewport, target.Viewport); }
public void InvalidateScroll_Should_Be_Set_When_Set_As_Content() { var scrollable = new TestScrollable(); var target = new ScrollContentPresenter { Content = scrollable }; target.ApplyTemplate(); Assert.NotNull(scrollable.InvalidateScroll); }
public void Offset_Should_Be_Written_To_IScrollable() { var scrollable = new TestScrollable { Extent = new Size(100, 100), Offset = new Vector(50, 50), }; var target = new ScrollContentPresenter { Content = scrollable }; target.ApplyTemplate(); target.Offset = new Vector(25, 25); Assert.Equal(target.Offset, scrollable.Offset); }
public void BringDescendentIntoView_Should_Update_Offset() { var target = new ScrollContentPresenter { Width = 100, Height = 100, Content = new Border { Width = 200, Height = 200, } }; target.ApplyTemplate(); target.Measure(Size.Infinity); target.Arrange(new Rect(0, 0, 100, 100)); target.BringDescendentIntoView(target.Child, new Rect(200, 200, 0, 0)); Assert.Equal(new Vector(100, 100), target.Offset); }