From 70c08e6f47fb0219b72f033448b08e0e8e2a22de Mon Sep 17 00:00:00 2001 From: Nikola Metulev Date: Wed, 15 Nov 2017 17:12:59 -0800 Subject: [PATCH] improved serach flickering --- .../Controls/ExtendedHamburgerMenu.cs | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/Microsoft.Toolkit.Uwp.SampleApp/Controls/ExtendedHamburgerMenu.cs b/Microsoft.Toolkit.Uwp.SampleApp/Controls/ExtendedHamburgerMenu.cs index 715bfee5a09..41fdc8f665f 100644 --- a/Microsoft.Toolkit.Uwp.SampleApp/Controls/ExtendedHamburgerMenu.cs +++ b/Microsoft.Toolkit.Uwp.SampleApp/Controls/ExtendedHamburgerMenu.cs @@ -82,6 +82,8 @@ public void HideSamplePicker() { _samplePickerGrid.Visibility = Visibility.Collapsed; } + + var noop = SetHamburgerMenuSelection(); } public async void ShowSamplePicker(Sample[] samples = null) @@ -110,6 +112,14 @@ public async void ShowSamplePicker(Sample[] samples = null) return; } + if (_samplePickerGrid.Visibility == Visibility.Visible && + _samplePickerGridView.ItemsSource is Sample[] currentSamples && + currentSamples.Count() == samples.Count() && + currentSamples.Except(samples).Count() == 0) + { + return; + } + _samplePickerGridView.ItemsSource = samples; if (_currentSample != null && samples.Contains(_currentSample)) @@ -311,11 +321,6 @@ private void SearchButton_GotFocus(object sender, RoutedEventArgs e) private void SearchBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args) { - if (args.Reason != AutoSuggestionBoxTextChangeReason.UserInput) - { - return; - } - UpdateSearchSuggestions(); } @@ -367,7 +372,14 @@ private void ExtendedHamburgerMenu_ItemClick(object sender, ItemClickEventArgs e { if (_samplePickerGrid.Visibility != Visibility.Collapsed && SelectedItem == e.ClickedItem) { - HideSamplePicker(); + if (_hamburgerButton != null && _hamburgerButton.Visibility == Visibility.Visible) + { + HideItemsInNarrowView(); + } + else + { + HideSamplePicker(); + } } else { @@ -407,7 +419,6 @@ private async Task SetHamburgerMenuSelection() private void ContentShadow_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e) { HideSamplePicker(); - var noop = SetHamburgerMenuSelection(); if (_hamburgerButton != null && _hamburgerButton.Visibility == Visibility.Visible) {