diff --git a/samples/BehaviorsTestApplication/Views/MainView.axaml b/samples/BehaviorsTestApplication/Views/MainView.axaml index 092548f9a..e41a046dc 100644 --- a/samples/BehaviorsTestApplication/Views/MainView.axaml +++ b/samples/BehaviorsTestApplication/Views/MainView.axaml @@ -12,132 +12,144 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/BehaviorsTestApplication/Views/MainView.axaml.cs b/samples/BehaviorsTestApplication/Views/MainView.axaml.cs index d7724e77a..988073e86 100644 --- a/samples/BehaviorsTestApplication/Views/MainView.axaml.cs +++ b/samples/BehaviorsTestApplication/Views/MainView.axaml.cs @@ -1,5 +1,5 @@ using Avalonia.Controls; -using Avalonia.Markup.Xaml; +using System.Linq; namespace BehaviorsTestApplication.Views; @@ -10,8 +10,27 @@ public MainView() InitializeComponent(); } - private void InitializeComponent() + private void OnSearchTextChanged(object? sender, Avalonia.Interactivity.RoutedEventArgs e) { - AvaloniaXamlLoader.Load(this); + var query = SearchBox.Text?.ToLowerInvariant() ?? string.Empty; + var visibleCount = 0; + + var tabItems = PagesTabControl.Items.OfType().ToList(); + + foreach (var item in tabItems) + { + var header = item.Header?.ToString()?.ToLowerInvariant() ?? string.Empty; + var visible = header.Contains(query); + item.IsVisible = visible; + + if (visible) + { + visibleCount++; + } + } + + PagesTabControl.SelectedItem = tabItems.FirstOrDefault(x => x.IsVisible); + + NoMatchesText.IsVisible = visibleCount == 0; } }