Xaml AutoSuggestBox在屏幕外打开

Xaml AutoSuggestBox在屏幕外打开,xaml,winrt-xaml,uwp,Xaml,Winrt Xaml,Uwp,我可能有我能想到的最基本的AutoSuggestBox实现 <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefi

我可能有我能想到的最基本的AutoSuggestBox实现

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>


    <Grid x:Name="SearchBoxContainer">
        <AutoSuggestBox 
            PlaceholderText="Type a topic name" 
            Margin="8" 
            QueryIcon="Find"  
            DisplayMemberPath="Title" 
            TextChanged="AutoSuggestBox_TextChanged"
            QuerySubmitted="AutoSuggestBox_QuerySubmitted" 
            SuggestionChosen="AutoSuggestBox_SuggestionChosen" 
            ItemsSource="{Binding MatchingTopics}"
            />
    </Grid>

</Grid>

输入时,我会得到一个建议列表。但它显示在自动建议框的上方。问题是,因为我已经将AutoSuggestBox放置在屏幕顶部,建议列表将离开屏幕,因此我只能看到一个项目


是否可以控制AutoSuggestBox的方向,使其向下扩展?为什么AutosuggestBox不能根据可用的屏幕属性选择正确的方向?

它只是一个弹出窗口,可以实现这一点,您应该能够在其上设置,以告诉它,如果窗口顶部没有所需的空间,它应该向下而不是向上弹出。这似乎应该是它使用的AutoSuggestControl/Popup的OOO功能。也许我在布局中遗漏了什么?不,你是对的,你会预料到的。我必须看到这个实例才能更好地理解它,但是如果你看一下控件模板,它实际上就是弹出的,上面的XAML就是我所做的。这就是为什么我对这种控制在我认为是一个快乐的路径中的行为不正确的原因感到如此的震惊。就像Chris W说的,你的XAML代码是正确的,当我用你的代码测试时,建议列表在自动提示框下。AutoSuggestBox使用弹出窗口显示建议列表。你可以在这本书中找到。它可以自动检测在哪里显示
弹出窗口
。如果删除
行定义
并在AutoSuggestBox中设置
VerticalAlignment=“Bottom”
,您将看到建议列表位于AutoSuggestBox上方。因此,我建议你创建一个新的空白项目,只添加AutoSuggestBox,看看它是否有效。它只是一个弹出窗口,您应该能够在其上设置,以告诉它,如果窗口顶部没有所需的空间,它应该向下而不是向上弹出。这似乎应该是它使用的AutoSuggestControl/Popup的OOO功能。也许我在布局中遗漏了什么?不,你是对的,你会预料到的。我必须看到这个实例才能更好地理解它,但是如果你看一下控件模板,它实际上就是弹出的,上面的XAML就是我所做的。这就是为什么我对这种控制在我认为是一个快乐的路径中的行为不正确的原因感到如此的震惊。就像Chris W说的,你的XAML代码是正确的,当我用你的代码测试时,建议列表在自动提示框下。AutoSuggestBox使用弹出窗口显示建议列表。你可以在这本书中找到。它可以自动检测在哪里显示
弹出窗口
。如果删除
行定义
并在AutoSuggestBox中设置
VerticalAlignment=“Bottom”
,您将看到建议列表位于AutoSuggestBox上方。因此,我建议您创建一个新的空白项目,只添加AutoSuggestBox以查看它是否有效。