| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- using Avalonia;
 
- using Avalonia.Controls;
 
- using Avalonia.Data;
 
- using Avalonia.Markup.Xaml;
 
- using System.Windows.Input;
 
- namespace InABox.Avalonia.Components;
 
- public partial class SearchBar : UserControl
 
- {
 
-     public static readonly StyledProperty<string> PlaceholderTextProperty =
 
-         AvaloniaProperty.Register<SearchBar, string>(nameof(PlaceholderText), "Search...");
 
-     public string PlaceholderText
 
-     {
 
-         get => GetValue(PlaceholderTextProperty);
 
-         set => SetValue(PlaceholderTextProperty, value);
 
-     }
 
-     public static readonly StyledProperty<ICommand?> CommandProperty =
 
-         AvaloniaProperty.Register<SearchBar, ICommand?>(nameof(Command), null);
 
-    
 
-     public ICommand? Command
 
-     {
 
-         get => GetValue(CommandProperty);
 
-         set => SetValue(CommandProperty, value);
 
-     }
 
-     public static readonly StyledProperty<string> TextProperty =
 
-         AvaloniaProperty.Register<SearchBar, string>(nameof(Text), "", defaultBindingMode: BindingMode.TwoWay);
 
-     public string Text
 
-     {
 
-         get => GetValue(TextProperty);
 
-         set => SetValue(TextProperty, value);
 
-     }
 
-     public static readonly StyledProperty<bool> SearchOnChangedProperty =
 
-         AvaloniaProperty.Register<SearchBar, bool>(nameof(SearchOnChanged), true);
 
-     public bool SearchOnChanged
 
-     {
 
-         get => GetValue(SearchOnChangedProperty);
 
-         set => SetValue(SearchOnChangedProperty, value);
 
-     }
 
-     public SearchBar()
 
-     {
 
-         InitializeComponent();
 
-     }
 
-     private void TextBox_TextChanged(object? sender, TextChangedEventArgs e)
 
-     {
 
-         if (SearchOnChanged && Command is not null && Command.CanExecute(null))
 
-         {
 
-             Command.Execute(null);
 
-         }
 
-     }
 
- }
 
 
  |