Browse Source

Make Collection Properties get-only

Fixes #1302.
Steven Kirk 7 years ago
parent
commit
04c489daa5
25 changed files with 277 additions and 352 deletions
  1. 2 2
      src/Avalonia.Controls/IPanel.cs
  2. 3 29
      src/Avalonia.Controls/Panel.cs
  3. 2 2
      tests/Avalonia.Controls.UnitTests/DockPanelTests.cs
  4. 1 1
      tests/Avalonia.Controls.UnitTests/DropDownTests.cs
  5. 42 42
      tests/Avalonia.Controls.UnitTests/GridSplitterTests.cs
  6. 1 1
      tests/Avalonia.Controls.UnitTests/GridTests.cs
  7. 6 51
      tests/Avalonia.Controls.UnitTests/PanelTests.cs
  8. 4 4
      tests/Avalonia.Controls.UnitTests/Primitives/TemplatedControlTests.cs
  9. 1 1
      tests/Avalonia.Controls.UnitTests/ScrollViewerTests.cs
  10. 6 6
      tests/Avalonia.Controls.UnitTests/StackPanelTests.cs
  11. 1 1
      tests/Avalonia.Controls.UnitTests/TabControlTests.cs
  12. 1 1
      tests/Avalonia.Controls.UnitTests/TreeViewTests.cs
  13. 26 26
      tests/Avalonia.Controls.UnitTests/WrapPanelTests.cs
  14. 61 63
      tests/Avalonia.Input.UnitTests/KeyboardNavigationTests_Arrows.cs
  15. 83 85
      tests/Avalonia.Input.UnitTests/KeyboardNavigationTests_Tab.cs
  16. 4 4
      tests/Avalonia.Layout.UnitTests/LayoutManagerTests.cs
  17. 5 5
      tests/Avalonia.Markup.UnitTests/ControlLocatorTests.cs
  18. 4 4
      tests/Avalonia.Markup.Xaml.UnitTests/Data/BindingTests_ElementName.cs
  19. 1 1
      tests/Avalonia.RenderTests/GeometryClippingTests.cs
  20. 1 1
      tests/Avalonia.RenderTests/Media/VisualBrushTests.cs
  21. 1 1
      tests/Avalonia.RenderTests/OpacityMaskTests.cs
  22. 1 1
      tests/Avalonia.RenderTests/SVGPathTests.cs
  23. 6 6
      tests/Avalonia.Visuals.UnitTests/RenderTests_Culling.cs
  24. 7 7
      tests/Avalonia.Visuals.UnitTests/Rendering/DeferredRendererTests_HitTesting.cs
  25. 7 7
      tests/Avalonia.Visuals.UnitTests/Rendering/ImmediateRendererTests_HitTesting.cs

+ 2 - 2
src/Avalonia.Controls/IPanel.cs

@@ -9,8 +9,8 @@ namespace Avalonia.Controls
     public interface IPanel : IControl
     {
         /// <summary>
-        /// Gets or sets the children of the <see cref="Panel"/>.
+        /// Gets the children of the <see cref="Panel"/>.
         /// </summary>
-        Controls Children { get; set; }
+        Controls Children { get; }
     }
 }

+ 3 - 29
src/Avalonia.Controls/Panel.cs

@@ -25,8 +25,6 @@ namespace Avalonia.Controls
         public static readonly StyledProperty<IBrush> BackgroundProperty =
             Border.BackgroundProperty.AddOwner<Panel>();
 
-        private readonly Controls _children = new Controls();
-
         /// <summary>
         /// Initializes static members of the <see cref="Panel"/> class.
         /// </summary>
@@ -40,38 +38,14 @@ namespace Avalonia.Controls
         /// </summary>
         public Panel()
         {
-            _children.CollectionChanged += ChildrenChanged;
+            Children.CollectionChanged += ChildrenChanged;
         }
 
         /// <summary>
-        /// Gets or sets the children of the <see cref="Panel"/>.
+        /// Gets the children of the <see cref="Panel"/>.
         /// </summary>
-        /// <remarks>
-        /// Even though this property can be set, the setter is only intended for use in object
-        /// initializers. Assigning to this property does not change the underlying collection,
-        /// it simply clears the existing collection and adds the contents of the assigned
-        /// collection.
-        /// </remarks>
         [Content]
-        public Controls Children
-        {
-            get
-            {
-                return _children;
-            }
-
-            set
-            {
-                Contract.Requires<ArgumentNullException>(value != null);
-
-                if (_children != value)
-                {
-                    VisualChildren.Clear();
-                    _children.Clear();
-                    _children.AddRange(value);
-                }
-            }
-        }
+        public Controls Children { get; } = new Controls();
 
         /// <summary>
         /// Gets or Sets Panel background brush.

+ 2 - 2
tests/Avalonia.Controls.UnitTests/DockPanelTests.cs

@@ -12,7 +12,7 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new DockPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new Border { Width = 500, Height = 50, [DockPanel.DockProperty] = Dock.Top },
                     new Border { Width = 500, Height = 50, [DockPanel.DockProperty] = Dock.Bottom },
@@ -38,7 +38,7 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new DockPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new Border { Width = 50, Height = 400, [DockPanel.DockProperty] = Dock.Left },
                     new Border { Width = 50, Height = 400, [DockPanel.DockProperty] = Dock.Right },

+ 1 - 1
tests/Avalonia.Controls.UnitTests/DropDownTests.cs

@@ -89,7 +89,7 @@ namespace Avalonia.Controls.UnitTests
                 return new Panel
                 {
                     Name = "container",
-                    Children = new Controls
+                    Children =
                     {
                         new ContentControl
                         {

+ 42 - 42
tests/Avalonia.Controls.UnitTests/GridSplitterTests.cs

@@ -22,14 +22,14 @@ namespace Avalonia.Controls.UnitTests
         {
             var grid = new Grid()
                        {
-                           RowDefinitions = new RowDefinitions("*,Auto,*"),
-                           ColumnDefinitions = new ColumnDefinitions("*,*"),
-                           Children = new Controls()
-                                      {
-                                          new Border { [Grid.RowProperty] = 0 },
-                                          new GridSplitter { [Grid.RowProperty] = 1, Name = "splitter" },
-                                          new Border { [Grid.RowProperty] = 2 }
-                                      }
+                            RowDefinitions = new RowDefinitions("*,Auto,*"),
+                            ColumnDefinitions = new ColumnDefinitions("*,*"),
+                            Children =
+                            {
+                                new Border { [Grid.RowProperty] = 0 },
+                                new GridSplitter { [Grid.RowProperty] = 1, Name = "splitter" },
+                                new Border { [Grid.RowProperty] = 2 }
+                            }
                        };
 
             var root = new TestRoot { Child = grid };
@@ -43,14 +43,14 @@ namespace Avalonia.Controls.UnitTests
         {
             var grid = new Grid()
                        {
-                           ColumnDefinitions = new ColumnDefinitions("*,Auto,*"),
-                           RowDefinitions = new RowDefinitions("*,*"),
-                           Children = new Controls()
-                                      {
-                                          new Border { [Grid.ColumnProperty] = 0 },
-                                          new GridSplitter { [Grid.ColumnProperty] = 1, Name = "splitter" },
-                                          new Border { [Grid.ColumnProperty] = 2 },
-                                      }
+                            ColumnDefinitions = new ColumnDefinitions("*,Auto,*"),
+                            RowDefinitions = new RowDefinitions("*,*"),
+                            Children =
+                            {
+                                new Border { [Grid.ColumnProperty] = 0 },
+                                new GridSplitter { [Grid.ColumnProperty] = 1, Name = "splitter" },
+                                new Border { [Grid.ColumnProperty] = 2 },
+                            }
                        };
 
             var root = new TestRoot { Child = grid };
@@ -64,14 +64,14 @@ namespace Avalonia.Controls.UnitTests
         {
             var grid = new Grid()
                        {
-                           ColumnDefinitions = new ColumnDefinitions("Auto,Auto,Auto"),
-                           RowDefinitions = new RowDefinitions("Auto,Auto"),
-                           Children = new Controls()
-                                      {
-                                          new Border { [Grid.ColumnProperty] = 0 },
-                                          new GridSplitter { [Grid.ColumnProperty] = 1, Name = "splitter" },
-                                          new Border { [Grid.ColumnProperty] = 2 },
-                                      }
+                            ColumnDefinitions = new ColumnDefinitions("Auto,Auto,Auto"),
+                            RowDefinitions = new RowDefinitions("Auto,Auto"),
+                            Children =
+                            {
+                                new Border { [Grid.ColumnProperty] = 0 },
+                                new GridSplitter { [Grid.ColumnProperty] = 1, Name = "splitter" },
+                                new Border { [Grid.ColumnProperty] = 2 },
+                            }
                        };
 
             var root = new TestRoot { Child = grid };
@@ -99,11 +99,11 @@ namespace Avalonia.Controls.UnitTests
 
             var grid = new Grid()
                        {
-                           RowDefinitions = rowDefinitions,
-                           Children = new Controls()
-                                      {
-                                          control1, splitter, control2
-                                      }
+                            RowDefinitions = rowDefinitions,
+                            Children =
+                            {
+                                control1, splitter, control2
+                            }
                        };
 
             var root = new TestRoot { Child = grid };
@@ -131,14 +131,14 @@ namespace Avalonia.Controls.UnitTests
         {
             var grid = new Grid()
                        {
-                           ColumnDefinitions = new ColumnDefinitions("Auto,*,*"),
-                           RowDefinitions = new RowDefinitions("*,*"),
-                           Children = new Controls()
-                                      {
-                                          new GridSplitter { [Grid.ColumnProperty] = 0, Name = "splitter" },
-                                          new Border { [Grid.ColumnProperty] = 1 },
-                                          new Border { [Grid.ColumnProperty] = 2 },
-                                      }
+                            ColumnDefinitions = new ColumnDefinitions("Auto,*,*"),
+                            RowDefinitions = new RowDefinitions("*,*"),
+                            Children =
+                            {
+                                new GridSplitter { [Grid.ColumnProperty] = 0, Name = "splitter" },
+                                new Border { [Grid.ColumnProperty] = 1 },
+                                new Border { [Grid.ColumnProperty] = 2 },
+                            }
                        };
 
             var root = new TestRoot { Child = grid };
@@ -171,11 +171,11 @@ namespace Avalonia.Controls.UnitTests
 
             var grid = new Grid()
                        {
-                           ColumnDefinitions = columnDefinitions,
-                           Children = new Controls()
-                                      {
-                                          control1, splitter, control2
-                                      }
+                            ColumnDefinitions = columnDefinitions,
+                            Children =
+                            {
+                                control1, splitter, control2
+                            }
                        };
 
             var root = new TestRoot { Child = grid };

+ 1 - 1
tests/Avalonia.Controls.UnitTests/GridTests.cs

@@ -24,7 +24,7 @@ namespace Avalonia.Controls.UnitTests
                     new RowDefinition(GridLength.Auto),
                     new RowDefinition(GridLength.Auto),
                 },
-                Children = new Controls
+                Children =
                 {
                     new Border
                     {

+ 6 - 51
tests/Avalonia.Controls.UnitTests/PanelTests.cs

@@ -2,7 +2,6 @@
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
 using System.Linq;
-using Avalonia.Collections;
 using Avalonia.LogicalTree;
 using Avalonia.VisualTree;
 using Xunit;
@@ -24,18 +23,6 @@ namespace Avalonia.Controls.UnitTests
             Assert.Same(child.GetVisualParent(), panel);
         }
 
-        [Fact]
-        public void Setting_Controls_Should_Set_Child_Controls_Parent()
-        {
-            var panel = new Panel();
-            var child = new Control();
-
-            panel.Children = new Controls { child };
-
-            Assert.Equal(child.Parent, panel);
-            Assert.Equal(child.GetLogicalParent(), panel);
-        }
-
         [Fact]
         public void Removing_Control_From_Panel_Should_Clear_Child_Controls_Parent()
         {
@@ -69,25 +56,6 @@ namespace Avalonia.Controls.UnitTests
             Assert.Null(child2.GetVisualParent());
         }
 
-        [Fact]
-        public void Resetting_Panel_Children_Should_Clear_Child_Controls_Parent()
-        {
-            var panel = new Panel();
-            var child1 = new Control();
-            var child2 = new Control();
-
-            panel.Children.Add(child1);
-            panel.Children.Add(child2);
-            panel.Children = new Controls();
-
-            Assert.Null(child1.Parent);
-            Assert.Null(child1.GetLogicalParent());
-            Assert.Null(child1.GetVisualParent());
-            Assert.Null(child2.Parent);
-            Assert.Null(child2.GetLogicalParent());
-            Assert.Null(child2.GetVisualParent());
-        }
-
         [Fact]
         public void Replacing_Panel_Children_Should_Clear_And_Set_Control_Parent()
         {
@@ -114,9 +82,9 @@ namespace Avalonia.Controls.UnitTests
 
             panel.Children.Add(child);
 
-            Assert.Equal(new[] { child }, panel.Children);
-            Assert.Equal(new[] { child }, panel.GetLogicalChildren());
-            Assert.Equal(new[] { child }, panel.GetVisualChildren());
+            Assert.Same(new[] { child }, panel.Children);
+            Assert.Same(new[] { child }, panel.GetLogicalChildren());
+            Assert.Same(new[] { child }, panel.GetVisualChildren());
         }
 
         [Fact]
@@ -128,7 +96,7 @@ namespace Avalonia.Controls.UnitTests
             panel.Children.Add(child);
             panel.Children.Remove(child);
 
-            Assert.Equal(new Control[0], panel.Children);
+            Assert.Same(new Control[0], panel.Children);
             Assert.Empty(panel.GetLogicalChildren());
             Assert.Empty(panel.GetVisualChildren());
         }
@@ -144,21 +112,8 @@ namespace Avalonia.Controls.UnitTests
             panel.Children.Add(child2);
             panel.Children.Move(1, 0);
 
-            Assert.Equal(new[] { child2, child1 }, panel.GetLogicalChildren());
-            Assert.Equal(new[] { child2, child1 }, panel.GetVisualChildren());
-        }
-
-        [Fact]
-        public void Setting_Children_Should_Make_Controls_Appear_In_Logical_And_Visual_Children()
-        {
-            var panel = new Panel();
-            var child = new Control();
-
-            panel.Children = new Controls { child };
-
-            Assert.Equal(new[] { child }, panel.Children);
-            Assert.Equal(new[] { child }, panel.GetLogicalChildren());
-            Assert.Equal(new[] { child }, panel.GetVisualChildren());
+            Assert.Same(new[] { child2, child1 }, panel.GetLogicalChildren());
+            Assert.Same(new[] { child2, child1 }, panel.GetVisualChildren());
         }
     }
 }

+ 4 - 4
tests/Avalonia.Controls.UnitTests/Primitives/TemplatedControlTests.cs

@@ -67,7 +67,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
                 {
                     Child = new Panel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new TextBlock(),
                             new Border(),
@@ -101,7 +101,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
                 {
                     Child = new Panel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new TextBlock(),
                             new Border(),
@@ -124,7 +124,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
                 {
                     Child = new Panel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new TextBlock(),
                             new Border(),
@@ -189,7 +189,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
                         {
                             return new StackPanel
                             {
-                                Children = new Controls
+                                Children =
                                 {
                                     new TextBlock
                                     {

+ 1 - 1
tests/Avalonia.Controls.UnitTests/ScrollViewerTests.cs

@@ -50,7 +50,7 @@ namespace Avalonia.Controls.UnitTests
                     new RowDefinition(1, GridUnitType.Star),
                     new RowDefinition(GridLength.Auto),
                 },
-                Children = new Controls
+                Children =
                 {
                     new ScrollContentPresenter
                     {

+ 6 - 6
tests/Avalonia.Controls.UnitTests/StackPanelTests.cs

@@ -13,7 +13,7 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new Border { Height = 20, Width = 120 },
                     new Border { Height = 30 },
@@ -36,7 +36,7 @@ namespace Avalonia.Controls.UnitTests
             var target = new StackPanel
             {
                 Orientation = Orientation.Horizontal,
-                Children = new Controls
+                Children =
                 {
                     new Border { Width = 20, Height = 120 },
                     new Border { Width = 30 },
@@ -59,7 +59,7 @@ namespace Avalonia.Controls.UnitTests
             var target = new StackPanel
             {
                 Gap = 10,
-                Children = new Controls
+                Children =
                 {
                     new Border { Height = 20, Width = 120 },
                     new Border { Height = 30 },
@@ -83,7 +83,7 @@ namespace Avalonia.Controls.UnitTests
             {
                 Gap = 10,
                 Orientation = Orientation.Horizontal,
-                Children = new Controls
+                Children =
                 {
                     new Border { Width = 20, Height = 120 },
                     new Border { Width = 30 },
@@ -106,7 +106,7 @@ namespace Avalonia.Controls.UnitTests
             var target = new StackPanel
             {
                 Height = 60,
-                Children = new Controls
+                Children =
                 {
                     new Border { Height = 20, Width = 120 },
                     new Border { Height = 30 },
@@ -130,7 +130,7 @@ namespace Avalonia.Controls.UnitTests
             {
                 Width = 60,
                 Orientation = Orientation.Horizontal,
-                Children = new Controls
+                Children =
                 {
                     new Border { Width = 20, Height = 120 },
                     new Border { Width = 30 },

+ 1 - 1
tests/Avalonia.Controls.UnitTests/TabControlTests.cs

@@ -272,7 +272,7 @@ namespace Avalonia.Controls.UnitTests
         {
             return new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new TabStrip
                     {

+ 1 - 1
tests/Avalonia.Controls.UnitTests/TreeViewTests.cs

@@ -432,7 +432,7 @@ namespace Avalonia.Controls.UnitTests
         {
             return new FuncControlTemplate<TreeViewItem>(parent => new Panel
             {
-                Children = new Controls
+                Children =
                 {
                     new ContentPresenter
                     {

+ 26 - 26
tests/Avalonia.Controls.UnitTests/WrapPanelTests.cs

@@ -12,12 +12,12 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new WrapPanel()
                          {
-                             Width = 100,
-                             Children = new Controls
-                                        {
-                                            new Border { Height = 50, Width = 100 },
-                                            new Border { Height = 50, Width = 100 },
-                                        }
+                            Width = 100,
+                            Children =
+                            {
+                                new Border { Height = 50, Width = 100 },
+                                new Border { Height = 50, Width = 100 },
+                            }
                          };
 
             target.Measure(Size.Infinity);
@@ -33,12 +33,12 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new WrapPanel()
                          {
-                             Width = 200,
-                             Children = new Controls
-                                        {
-                                            new Border { Height = 50, Width = 100 },
-                                            new Border { Height = 50, Width = 100 },
-                                        }
+                            Width = 200,
+                            Children =
+                            {
+                                new Border { Height = 50, Width = 100 },
+                                new Border { Height = 50, Width = 100 },
+                            }
                          };
 
             target.Measure(Size.Infinity);
@@ -54,13 +54,13 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new WrapPanel()
                          {
-                             Orientation = Orientation.Vertical,
-                             Height = 120,
-                             Children = new Controls
-                                        {
-                                            new Border { Height = 50, Width = 100 },
-                                            new Border { Height = 50, Width = 100 },
-                                        }
+                            Orientation = Orientation.Vertical,
+                            Height = 120,
+                            Children =
+                            {
+                                new Border { Height = 50, Width = 100 },
+                                new Border { Height = 50, Width = 100 },
+                            }
                          };
 
             target.Measure(Size.Infinity);
@@ -76,13 +76,13 @@ namespace Avalonia.Controls.UnitTests
         {
             var target = new WrapPanel()
                          {
-                             Orientation = Orientation.Vertical,
-                             Height = 60,
-                             Children = new Controls
-                                        {
-                                            new Border { Height = 50, Width = 100 },
-                                            new Border { Height = 50, Width = 100 },
-                                        }
+                            Orientation = Orientation.Vertical,
+                            Height = 60,
+                            Children =
+                            {
+                                new Border { Height = 50, Width = 100 },
+                                new Border { Height = 50, Width = 100 },
+                            }
                          };
 
             target.Measure(Size.Infinity);

+ 61 - 63
tests/Avalonia.Input.UnitTests/KeyboardNavigationTests_Arrows.cs

@@ -6,8 +6,6 @@ using Xunit;
 
 namespace Avalonia.Input.UnitTests
 {
-    using Controls = Controls.Controls;
-
     public class KeyboardNavigationTests_Arrows
     {
         [Fact]
@@ -18,12 +16,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -33,7 +31,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -56,12 +54,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -71,7 +69,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -94,12 +92,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -123,16 +121,16 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
                                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                                Children = new Controls
+                                Children =
                                 {
                                     new Button { Name = "Button1" },
                                     new Button { Name = "Button2" },
@@ -144,7 +142,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -167,7 +165,7 @@ namespace Avalonia.Input.UnitTests
             var top = new StackPanel
             {
                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                Children = new Controls
+                Children =
                 {
                     (next = new Button { Name = "Button1" }),
                 }
@@ -187,17 +185,17 @@ namespace Avalonia.Input.UnitTests
             var top = new StackPanel
             {
                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
                                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                                Children = new Controls
+                                Children =
                                 {
                                     (next = new Button { Name = "Button1" }),
                                     new Button { Name = "Button2" },
@@ -209,7 +207,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -232,12 +230,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -246,7 +244,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -269,12 +267,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -283,7 +281,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -306,12 +304,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -321,7 +319,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -343,12 +341,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -358,7 +356,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -380,12 +378,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.None,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -395,7 +393,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -418,12 +416,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (next = new Button { Name = "Button2" }),
@@ -433,7 +431,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -456,12 +454,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -471,7 +469,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -495,12 +493,12 @@ namespace Avalonia.Input.UnitTests
             var top = new StackPanel
             {
                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -524,16 +522,16 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
                                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                                Children = new Controls
+                                Children =
                                 {
                                     new Button { Name = "Button1" },
                                     new Button { Name = "Button2" },
@@ -545,7 +543,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -568,16 +566,16 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
                                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                                Children = new Controls
+                                Children =
                                 {
                                     (current = new Button { Name = "Button1" }),
                                     new Button { Name = "Button2" },
@@ -589,7 +587,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Continue,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -632,12 +630,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             (current = new Button { Name = "Button2" }),
@@ -647,7 +645,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -670,12 +668,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -685,7 +683,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -708,12 +706,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             (current = new Button { Name = "Button2" }),
@@ -723,7 +721,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -745,12 +743,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -760,7 +758,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -783,7 +781,7 @@ namespace Avalonia.Input.UnitTests
             var top = new StackPanel
             {
                 [KeyboardNavigation.DirectionalNavigationProperty] = KeyboardNavigationMode.Contained,
-                Children = new Controls
+                Children =
                 {
                     (current = new Decorator
                     {

+ 83 - 85
tests/Avalonia.Input.UnitTests/KeyboardNavigationTests_Tab.cs

@@ -6,8 +6,6 @@ using Xunit;
 
 namespace Avalonia.Input.UnitTests
 {
-    using Controls = Controls.Controls;
-
     public class KeyboardNavigationTests_Tab
     {
         [Fact]
@@ -18,11 +16,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -31,7 +29,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -54,11 +52,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -67,7 +65,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -90,11 +88,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -104,11 +102,11 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.None,
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
-                                Children = new Controls
+                                Children =
                                 {
                                     new Button { Name = "Button4" },
                                     new Button { Name = "Button5" },
@@ -133,11 +131,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -161,15 +159,15 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
-                                Children = new Controls
+                                Children =
                                 {
                                     new Button { Name = "Button1" },
                                     new Button { Name = "Button2" },
@@ -180,7 +178,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -202,7 +200,7 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     (next = new Button { Name = "Button1" }),
                 }
@@ -221,15 +219,15 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
-                                Children = new Controls
+                                Children =
                                 {
                                     (next = new Button { Name = "Button1" }),
                                     new Button { Name = "Button2" },
@@ -240,7 +238,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -263,12 +261,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -277,7 +275,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -300,12 +298,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -314,7 +312,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -337,12 +335,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -351,7 +349,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -373,12 +371,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -387,7 +385,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -410,12 +408,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Once,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -424,7 +422,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -448,12 +446,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     (container = new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Once,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (next = new Button { Name = "Button2" }),
@@ -462,7 +460,7 @@ namespace Avalonia.Input.UnitTests
                     }),
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -487,12 +485,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.None,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (current = new Button { Name = "Button2" }),
@@ -501,7 +499,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -525,12 +523,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     (container = new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.None,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -539,7 +537,7 @@ namespace Avalonia.Input.UnitTests
                     }),
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -564,11 +562,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (next = new Button { Name = "Button2" }),
@@ -577,7 +575,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -600,11 +598,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -613,7 +611,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -636,11 +634,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -664,15 +662,15 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
-                                Children = new Controls
+                                Children =
                                 {
                                     new Button { Name = "Button1" },
                                     new Button { Name = "Button2" },
@@ -683,7 +681,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -706,15 +704,15 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new StackPanel
                             {
-                                Children = new Controls
+                                Children =
                                 {
                                     (current = new Button { Name = "Button1" }),
                                     new Button { Name = "Button2" },
@@ -725,7 +723,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -767,12 +765,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             (current = new Button { Name = "Button2" }),
@@ -781,7 +779,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -804,12 +802,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Cycle,
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -818,7 +816,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -841,12 +839,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             (current = new Button { Name = "Button2" }),
@@ -855,7 +853,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -877,12 +875,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Contained,
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -891,7 +889,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             new Button { Name = "Button5" },
@@ -914,11 +912,11 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             new Button { Name = "Button2" },
@@ -928,7 +926,7 @@ namespace Avalonia.Input.UnitTests
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Once,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button4" },
                             (current = new Button { Name = "Button5" }),
@@ -952,12 +950,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     (container = new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Once,
-                        Children = new Controls
+                        Children =
                         {
                             new Button { Name = "Button1" },
                             (next = new Button { Name = "Button2" }),
@@ -966,7 +964,7 @@ namespace Avalonia.Input.UnitTests
                     }),
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -991,12 +989,12 @@ namespace Avalonia.Input.UnitTests
 
             var top = new StackPanel
             {
-                Children = new Controls
+                Children =
                 {
                     new StackPanel
                     {
                         [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Once,
-                        Children = new Controls
+                        Children =
                         {
                             (next = new Button { Name = "Button1" }),
                             new Button { Name = "Button2" },
@@ -1005,7 +1003,7 @@ namespace Avalonia.Input.UnitTests
                     },
                     new StackPanel
                     {
-                        Children = new Controls
+                        Children =
                         {
                             (current = new Button { Name = "Button4" }),
                             new Button { Name = "Button5" },
@@ -1028,7 +1026,7 @@ namespace Avalonia.Input.UnitTests
             var top = new StackPanel
             {
                 [KeyboardNavigation.TabNavigationProperty] = KeyboardNavigationMode.Contained,
-                Children = new Controls
+                Children =
                 {
                     (current = new Decorator
                     {

+ 4 - 4
tests/Avalonia.Layout.UnitTests/LayoutManagerTests.cs

@@ -275,10 +275,10 @@ namespace Avalonia.Layout.UnitTests
                 {
                     Child = panel = new StackPanel
                     {
-                        Children = new Controls.Controls
-                    {
-                        (border = new Border())
-                    }
+                        Children =
+                        {
+                            (border = new Border())
+                        }
                     }
                 };
 

+ 5 - 5
tests/Avalonia.Markup.UnitTests/ControlLocatorTests.cs

@@ -23,7 +23,7 @@ namespace Avalonia.Markup.UnitTests
             {
                 Child = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (target = new TextBlock { Name = "target" }),
                         (relativeTo = new TextBlock { Name = "start" }),
@@ -49,7 +49,7 @@ namespace Avalonia.Markup.UnitTests
             {
                 Child = (panel = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (relativeTo = new TextBlock
                         {
@@ -84,7 +84,7 @@ namespace Avalonia.Markup.UnitTests
             {
                 Child = panel = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (target = new TextBlock { Name = "target" }),
                         (relativeTo = new TextBlock { Name = "start" }),
@@ -114,7 +114,7 @@ namespace Avalonia.Markup.UnitTests
             {
                 Child = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (relativeTo = new TextBlock
                         {
@@ -129,7 +129,7 @@ namespace Avalonia.Markup.UnitTests
             {
                 Child = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (target2 = new TextBlock { Name = "target" }),
                     }

+ 4 - 4
tests/Avalonia.Markup.Xaml.UnitTests/Data/BindingTests_ElementName.cs

@@ -18,7 +18,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Data
             {
                 Child = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         new TextBlock
                         {
@@ -54,7 +54,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Data
             {
                 Child = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (source = new TextBlock
                         {
@@ -89,7 +89,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Data
             {
                 Child = stackPanel = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (target = new TextBlock
                         {
@@ -126,7 +126,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Data
             {
                 Child = stackPanel = new StackPanel
                 {
-                    Children = new Controls.Controls
+                    Children =
                     {
                         (target = new ContentControl
                         {

+ 1 - 1
tests/Avalonia.RenderTests/GeometryClippingTests.cs

@@ -29,7 +29,7 @@ namespace Avalonia.Direct2D1.RenderTests
                 Clip = StreamGeometry.Parse("F1 M 0,0  H 76 V 76 Z"),
                 Width = 76,
                 Height = 76,
-                Children = new Avalonia.Controls.Controls
+                Children =
                 {
                     new Path
                     {

+ 1 - 1
tests/Avalonia.RenderTests/Media/VisualBrushTests.cs

@@ -33,7 +33,7 @@ namespace Avalonia.Direct2D1.RenderTests.Media
             {
                 return new Panel
                 {
-                    Children = new Avalonia.Controls.Controls
+                    Children =
                     {
                         new Image
                         {

+ 1 - 1
tests/Avalonia.RenderTests/OpacityMaskTests.cs

@@ -37,7 +37,7 @@ namespace Avalonia.Direct2D1.RenderTests
                 },
                 Width = 76,
                 Height = 76,
-                Children = new Avalonia.Controls.Controls
+                Children =
                 {
                     new Path
                     {

+ 1 - 1
tests/Avalonia.RenderTests/SVGPathTests.cs

@@ -30,7 +30,7 @@ namespace Avalonia.Direct2D1.RenderTests
                 Background = Brushes.Yellow,
                 Width = 76,
                 Height = 76,
-                Children = new Avalonia.Controls.Controls
+                Children =
                 {
                     new Path
                     {

+ 6 - 6
tests/Avalonia.Visuals.UnitTests/RenderTests_Culling.cs

@@ -21,7 +21,7 @@ namespace Avalonia.Visuals.UnitTests
                 Width = 100,
                 Height = 100,
                 ClipToBounds = true,
-                Children = new Controls.Controls
+                Children =
                 {
                     (target = new TestControl
                     {
@@ -47,7 +47,7 @@ namespace Avalonia.Visuals.UnitTests
                 Width = 100,
                 Height = 100,
                 ClipToBounds = true,
-                Children = new Controls.Controls
+                Children =
                 {
                     (target = new TestControl
                     {
@@ -74,7 +74,7 @@ namespace Avalonia.Visuals.UnitTests
                 Width = 100,
                 Height = 100,
                 ClipToBounds = true,
-                Children = new Controls.Controls
+                Children =
                 {
                     new Canvas
                     {
@@ -82,7 +82,7 @@ namespace Avalonia.Visuals.UnitTests
                         Height = 100,
                         [Canvas.LeftProperty] = 50,
                         [Canvas.TopProperty] = 50,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             (target = new TestControl
                             {
@@ -111,7 +111,7 @@ namespace Avalonia.Visuals.UnitTests
                 Width = 100,
                 Height = 100,
                 ClipToBounds = true,
-                Children = new Controls.Controls
+                Children =
                 {
                     (target = new TestControl
                     {
@@ -138,7 +138,7 @@ namespace Avalonia.Visuals.UnitTests
                 Width = 100,
                 Height = 100,
                 ClipToBounds = true,
-                Children = new Controls.Controls
+                Children =
                 {
                     new Border
                     {

+ 7 - 7
tests/Avalonia.Visuals.UnitTests/Rendering/DeferredRendererTests_HitTesting.cs

@@ -154,7 +154,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                     {
                         Width = 200,
                         Height = 200,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Border
                             {
@@ -198,7 +198,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                     {
                         Width = 200,
                         Height = 200,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Border
                             {
@@ -255,7 +255,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                         Height = 200,
                         Background = Brushes.Red,
                         ClipToBounds = false,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Border
                             {
@@ -303,7 +303,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                         Width = 100,
                         Height = 200,
                         Background = Brushes.Red,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Panel()
                             {
@@ -312,7 +312,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                                 Background = Brushes.Red,
                                 Margin = new Thickness(0, 100, 0, 0),
                                 ClipToBounds = true,
-                                Children = new Controls.Controls
+                                Children =
                                 {
                                     (target = new Border()
                                     {
@@ -354,7 +354,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                         Width = 100,
                         Height = 200,
                         Background = Brushes.Red,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             (target = new Border()
                             {
@@ -374,7 +374,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                                 {
                                     Content = new StackPanel()
                                     {
-                                        Children = new Controls.Controls
+                                        Children =
                                         {
                                             (item1 = new Border()
                                             {

+ 7 - 7
tests/Avalonia.Visuals.UnitTests/Rendering/ImmediateRendererTests_HitTesting.cs

@@ -126,7 +126,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                     {
                         Width = 200,
                         Height = 200,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Border
                             {
@@ -171,7 +171,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                     {
                         Width = 200,
                         Height = 200,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Border
                             {
@@ -238,7 +238,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                         Height = 200,
                         Background = Brushes.Red,
                         ClipToBounds = false,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Border
                             {
@@ -287,7 +287,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                         Width = 100,
                         Height = 200,
                         Background = Brushes.Red,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             new Panel()
                             {
@@ -296,7 +296,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                                 Background = Brushes.Red,
                                 Margin = new Thickness(0, 100, 0, 0),
                                 ClipToBounds = true,
-                                Children = new Controls.Controls
+                                Children =
                                 {
                                     (target = new Border()
                                     {
@@ -339,7 +339,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                         Width = 100,
                         Height = 200,
                         Background = Brushes.Red,
-                        Children = new Controls.Controls
+                        Children =
                         {
                             (target = new Border()
                             {
@@ -359,7 +359,7 @@ namespace Avalonia.Visuals.UnitTests.Rendering
                                 {
                                     Content = new StackPanel()
                                     {
-                                        Children = new Controls.Controls
+                                        Children =
                                         {
                                             (item1 = new Border()
                                             {