diff --git a/Toolkit.UI.Controls.Avalonia/OverflowListBox/OverflowListBox.axaml b/Toolkit.UI.Controls.Avalonia/OverflowListBox/OverflowListBox.axaml
new file mode 100644
index 0000000..8087360
--- /dev/null
+++ b/Toolkit.UI.Controls.Avalonia/OverflowListBox/OverflowListBox.axaml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Toolkit.UI.Controls.Avalonia/OverflowListBox/OverflowListBox.cs b/Toolkit.UI.Controls.Avalonia/OverflowListBox/OverflowListBox.cs
new file mode 100644
index 0000000..7415192
--- /dev/null
+++ b/Toolkit.UI.Controls.Avalonia/OverflowListBox/OverflowListBox.cs
@@ -0,0 +1,239 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Controls.Primitives;
+using Avalonia.Controls.Templates;
+using Avalonia.Data;
+using Avalonia.Metadata;
+using Avalonia.Threading;
+using System.Collections;
+using System.Collections.ObjectModel;
+using System.Collections.Specialized;
+
+namespace Toolkit.UI.Controls.Avalonia;
+
+public class OverflowListBox :
+ TemplatedControl
+{
+ public static readonly StyledProperty> ItemsPanelProperty =
+ AvaloniaProperty.Register>(nameof(ItemsPanel), new FuncTemplate(() => new StackPanel()));
+
+ public static readonly StyledProperty ItemsSourceProperty =
+ AvaloniaProperty.Register(nameof(ItemsSource));
+
+ public static readonly StyledProperty ItemTemplateProperty =
+ AvaloniaProperty.Register(nameof(ItemTemplate));
+
+ public static readonly StyledProperty