diff --git a/src/Avalonia.Base/ISupportInitialize.cs b/src/Avalonia.Base/ISupportInitialize.cs
deleted file mode 100644
index 04e3d72e6c..0000000000
--- a/src/Avalonia.Base/ISupportInitialize.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) The Avalonia Project. All rights reserved.
-// Licensed under the MIT license. See licence.md file in the project root for full license information.
-
-namespace Avalonia
-{
- ///
- /// Specifies that this object supports a simple, transacted notification for batch
- /// initialization.
- ///
- public interface ISupportInitialize
- {
- ///
- /// Signals the object that initialization is starting.
- ///
- void BeginInit();
-
- ///
- /// Signals the object that initialization is complete.
- ///
- void EndInit();
- }
-}
diff --git a/src/Avalonia.Controls/Control.cs b/src/Avalonia.Controls/Control.cs
index a00d586233..a7ee027e70 100644
--- a/src/Avalonia.Controls/Control.cs
+++ b/src/Avalonia.Controls/Control.cs
@@ -1,6 +1,7 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
+using System.ComponentModel;
using Avalonia.Controls.Primitives;
using Avalonia.Controls.Templates;
using Avalonia.Input;
diff --git a/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs b/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs
index 224af979ab..43beb923e5 100644
--- a/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs
+++ b/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
using Avalonia.Controls.Platform;
using Avalonia.Input;
using Avalonia.Platform;
diff --git a/src/Avalonia.Controls/Embedding/Offscreen/OffscreenTopLevel.cs b/src/Avalonia.Controls/Embedding/Offscreen/OffscreenTopLevel.cs
index 8b39cc03b8..c4f83ffd54 100644
--- a/src/Avalonia.Controls/Embedding/Offscreen/OffscreenTopLevel.cs
+++ b/src/Avalonia.Controls/Embedding/Offscreen/OffscreenTopLevel.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
using Avalonia.Styling;
namespace Avalonia.Controls.Embedding.Offscreen
diff --git a/src/Avalonia.Controls/WindowBase.cs b/src/Avalonia.Controls/WindowBase.cs
index 56ffd315f1..363af05a0b 100644
--- a/src/Avalonia.Controls/WindowBase.cs
+++ b/src/Avalonia.Controls/WindowBase.cs
@@ -1,4 +1,5 @@
using System;
+using System.ComponentModel;
using System.Linq;
using System.Reactive.Disposables;
using System.Reactive.Linq;
diff --git a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs
index 2720e674cc..b99864b050 100644
--- a/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs
+++ b/src/Markup/Avalonia.Markup.Xaml/AvaloniaXamlLoader.cs
@@ -8,6 +8,7 @@ using Avalonia.Platform;
using Portable.Xaml;
using System;
using System.Collections.Generic;
+using System.ComponentModel;
using System.IO;
using System.Reflection;
using System.Runtime.Serialization;
diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs
index 5d1a98f6f8..9fa6c26c35 100644
--- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs
+++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlObjectWriter.cs
@@ -77,40 +77,15 @@ namespace Avalonia.Markup.Xaml.PortableXaml
_delayedValuesHelper.ApplyAll();
}
- protected internal override void OnAfterBeginInit(object value)
- {
- //not called for avalonia objects
- //as it's called inly for
- //Portable.Xaml.ComponentModel.ISupportInitialize
- base.OnAfterBeginInit(value);
- }
-
- protected internal override void OnAfterEndInit(object value)
- {
- //not called for avalonia objects
- //as it's called inly for
- //Portable.Xaml.ComponentModel.ISupportInitialize
- base.OnAfterEndInit(value);
- }
-
protected internal override void OnAfterProperties(object value)
{
_delayedValuesHelper.EndInit(value);
base.OnAfterProperties(value);
-
- //AfterEndInit is not called as it supports only
- //Portable.Xaml.ComponentModel.ISupportInitialize
- //and we have Avalonia.ISupportInitialize so we need some hacks
- HandleEndEdit(value);
}
protected internal override void OnBeforeProperties(object value)
{
- //OnAfterBeginInit is not called as it supports only
- //Portable.Xaml.ComponentModel.ISupportInitialize
- //and we have Avalonia.ISupportInitialize so we need some hacks
- HandleBeginInit(value);
if (value != null)
_delayedValuesHelper.BeginInit(value);
@@ -127,16 +102,6 @@ namespace Avalonia.Markup.Xaml.PortableXaml
return base.OnSetValue(target, member, value);
}
- private void HandleBeginInit(object value)
- {
- (value as Avalonia.ISupportInitialize)?.BeginInit();
- }
-
- private void HandleEndEdit(object value)
- {
- (value as Avalonia.ISupportInitialize)?.EndInit();
- }
-
public override void WriteStartMember(XamlMember property)
{
foreach(var d in DesignDirectives)
diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs
index bbe1d85acb..2df925301f 100644
--- a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs
@@ -4,6 +4,7 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
+using System.ComponentModel;
using System.Linq;
using Avalonia.Collections;
using Avalonia.Controls.Presenters;
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/InitializationOrderTracker.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/InitializationOrderTracker.cs
index 3ecb2d9f37..104f46cbac 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/InitializationOrderTracker.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/InitializationOrderTracker.cs
@@ -4,6 +4,7 @@
using Avalonia.Controls;
using Avalonia.LogicalTree;
using System.Collections.Generic;
+using System.ComponentModel;
namespace Avalonia.Markup.Xaml.UnitTests.Xaml
{
@@ -39,4 +40,4 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
Order.Add($"EndInit {InitState}");
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/Avalonia.Styling.UnitTests/StyledElementTests.cs b/tests/Avalonia.Styling.UnitTests/StyledElementTests.cs
index 4096dcf380..4970addd81 100644
--- a/tests/Avalonia.Styling.UnitTests/StyledElementTests.cs
+++ b/tests/Avalonia.Styling.UnitTests/StyledElementTests.cs
@@ -10,6 +10,7 @@ using Avalonia.UnitTests;
using Xunit;
using Avalonia.LogicalTree;
using Avalonia.Controls;
+using System.ComponentModel;
namespace Avalonia.Styling.UnitTests
{