public void Lays_Out_Children_Horizontally() { var target = new StackPanel { Orientation = Orientation.Horizontal, Children = { new Border { Width = 20, Height = 120 }, new Border { Width = 30 }, new Border { Width = 50 }, } }; target.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); target.Arrange(new Rect(target.DesiredSize)); Assert.Equal(new Size(100, 120), target.BoundsRelativeTo(target).Size); Assert.Equal(new Rect(0, 0, 20, 120), target.Children[0].BoundsRelativeTo(target)); Assert.Equal(new Rect(20, 0, 30, 120), target.Children[1].BoundsRelativeTo(target)); Assert.Equal(new Rect(50, 0, 50, 120), target.Children[2].BoundsRelativeTo(target)); }
public void Lays_Out_Children_Vertically() { var target = new StackPanel { Children = { new Border { Height = 20, Width = 120 }, new Border { Height = 30 }, new Border { Height = 50 }, } }; target.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); target.Arrange(new Rect(target.DesiredSize)); Assert.Equal(new Size(120, 100), target.BoundsRelativeTo(target).Size); Assert.Equal(new Rect(0, 0, 120, 20), target.Children[0].BoundsRelativeTo(target)); Assert.Equal(new Rect(0, 20, 120, 30), target.Children[1].BoundsRelativeTo(target)); Assert.Equal(new Rect(0, 50, 120, 50), target.Children[2].BoundsRelativeTo(target)); }