diff --git a/src/Avalonia.Diagnostics/Diagnostics/Controls/FilterTextBox.axaml b/src/Avalonia.Diagnostics/Diagnostics/Controls/FilterTextBox.axaml
new file mode 100644
index 0000000000..52720e652f
--- /dev/null
+++ b/src/Avalonia.Diagnostics/Diagnostics/Controls/FilterTextBox.axaml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Avalonia.Diagnostics/Diagnostics/Controls/FilterTextBox.cs b/src/Avalonia.Diagnostics/Diagnostics/Controls/FilterTextBox.cs
new file mode 100644
index 0000000000..66fad557d5
--- /dev/null
+++ b/src/Avalonia.Diagnostics/Diagnostics/Controls/FilterTextBox.cs
@@ -0,0 +1,52 @@
+using System;
+using Avalonia.Controls;
+using Avalonia.Data;
+using Avalonia.Styling;
+
+namespace Avalonia.Diagnostics.Controls
+{
+ internal class FilterTextBox : TextBox, IStyleable
+ {
+ public static readonly DirectProperty UseRegexFilterProperty =
+ AvaloniaProperty.RegisterDirect(nameof(UseRegexFilter),
+ o => o.UseRegexFilter, (o, v) => o.UseRegexFilter = v,
+ defaultBindingMode: BindingMode.TwoWay);
+
+ public static readonly DirectProperty UseCaseSensitiveFilterProperty =
+ AvaloniaProperty.RegisterDirect(nameof(UseCaseSensitiveFilter),
+ o => o.UseCaseSensitiveFilter, (o, v) => o.UseCaseSensitiveFilter = v,
+ defaultBindingMode: BindingMode.TwoWay);
+
+ public static readonly DirectProperty UseWholeWordFilterProperty =
+ AvaloniaProperty.RegisterDirect(nameof(UseWholeWordFilter),
+ o => o.UseWholeWordFilter, (o, v) => o.UseWholeWordFilter = v,
+ defaultBindingMode: BindingMode.TwoWay);
+
+ private bool _useRegexFilter, _useCaseSensitiveFilter, _useWholeWordFilter;
+
+ public FilterTextBox()
+ {
+ Classes.Add("filter-text-box");
+ }
+
+ public bool UseRegexFilter
+ {
+ get => _useRegexFilter;
+ set => SetAndRaise(UseRegexFilterProperty, ref _useRegexFilter, value);
+ }
+
+ public bool UseCaseSensitiveFilter
+ {
+ get => _useCaseSensitiveFilter;
+ set => SetAndRaise(UseCaseSensitiveFilterProperty, ref _useCaseSensitiveFilter, value);
+ }
+
+ public bool UseWholeWordFilter
+ {
+ get => _useWholeWordFilter;
+ set => SetAndRaise(UseWholeWordFilterProperty, ref _useWholeWordFilter, value);
+ }
+
+ Type IStyleable.StyleKey => typeof(TextBox);
+ }
+}
diff --git a/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs b/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs
index 32592559e5..b1ff8ae98d 100644
--- a/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs
+++ b/src/Avalonia.Diagnostics/Diagnostics/ViewModels/ControlDetailsViewModel.cs
@@ -19,7 +19,6 @@ namespace Avalonia.Diagnostics.ViewModels
private readonly IVisual _control;
private readonly IDictionary