Списки предложений AutoSuggestBox не закрываются во время прокрутки в UWP - PullRequest
0 голосов
/ 05 ноября 2019

AutoSuggestBox список предложений не закрывается во время прокрутки, что вызывает странную проблему с пользовательским интерфейсом. Вопрос будет похож на приведенный ниже, который я взял из приложения Галерея элементов управления XAML по умолчанию .

enter image description here

ПростоеAutoSuggestBox Я тестировал

<AutoSuggestBox TextChanged="AutoSuggestBox_TextChanged" Width="300" />

Есть ли лучший способ исправить это, кроме использования ScrollViewer.ViewChanged

1 Ответ

0 голосов
/ 05 ноября 2019

Списки предложений AutoSuggestBox не закрываются во время прокрутки в UWP

Мы не можем установить Popup IsLightDismissEnabled как true, так как во всплывающем окне не будет отображаться стабильный контент. Я проверяю ваш скриншот, вы можете установить ShouldConstrainToRootBounds для Pupup элемента управления, чтобы избежать выхода списка за границы.

private void AutoSuggestBox_Loaded(object sender, RoutedEventArgs e)
{
    var popup = MyFindGridViewChildByName(sender as AutoSuggestBox, "SuggestionsPopup") as Popup;
    popup.ShouldConstrainToRootBounds = true;
}
public static DependencyObject MyFindGridViewChildByName(DependencyObject parant, string ControlName)
{
    int count = VisualTreeHelper.GetChildrenCount(parant);

    for (int i = 0; i < count; i++)
    {
        var MyChild = VisualTreeHelper.GetChild(parant, i);
        if (MyChild is FrameworkElement && ((FrameworkElement)MyChild).Name == ControlName)
            return MyChild;

        var FindResult = MyFindGridViewChildByName(MyChild, ControlName);
        if (FindResult != null)
            return FindResult;
    }

    return null;
}
...