如何使自动完成框在选定项目时变大

时间:2019-02-15 15:10:27

标签: xaml xamarin

我当前正在使用syncfusion的自动完成功能,该模式设置为Token,这使我可以选择多个项目。当我从自动完成功能中选择更多项目时,一旦我选择了多个项目,它们就不会出现。我想知道如何使自动完成框的高度自动增长。

我已将MinimumHeightRequest设置为60,并将垂直选项设置为EndAndExpand,但它仍然没有增长,从而切断了先前选择的项目。

选择了1个项目

enter image description here

选择2个项目

enter image description here

选择了3个项目

enter image description here

我正在寻找的行为是高度会增加以容纳选定的物品。

<autocomplete:SfAutoComplete x:Name="autoComplete"
                                DisplayMemberPath="Location"
                                MultiSelectMode="Token"
                                MinimumHeightRequest="60"
                                VerticalOptions="EndAndExpand"
                                HorizontalOptions="FillAndExpand"
                                TokensWrapMode="Wrap" 
                                ItemPadding="20,10,0,0"
                                IsSelectedItemsVisibleInDropDown="false"
                                Watermark="Search for Location"
                                SelectedItem="{Binding SelectedLocation}"
                                DataSource="{Binding FilteredLocations}"                                                   
                                Text="{Binding SearchLocation, Mode=TwoWay}" >      
</autocomplete:SfAutoComplete>

1 个答案:

答案 0 :(得分:1)

您可以通过如下方式将Grid嵌套在外层中来实现:

<Grid Grid.Row="1"
          Margin="10,0,10,0">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>

        <autocomplete:SfAutoComplete>
            ......
        </autocomplete:SfAutoComplete>
</Grid>

您可以参考::https://blog.syncfusion.com/post/overview-of-the-autocomplete-control-in-xamarin-forms.aspx