Я бы предложил переключить StackLayout
на Grid
и поместить все в него, тогда у вас будет оверлей (это то, что мне нравится с Grid
). Вы можете поиграть с VerticalOptions
из MaterialAutoComplete
и Label
и настроить все с помощью свойства Margin
каждого, если свойство VerticalOptions
не совсем соответствует тому, как вы хотели бы, чтобы оно отображалось.
Я проверил это и его работу (в одном из наших проектов), возможно, вы можете изменить значения Margin
на Label
, например, или добавить некоторые на MaterialAutoComplete
, или попытаться сделать что-то с Padding
свойство сетки тоже.
Будьте осторожны с порядком , вы должны поставить Label
первым в Grid
, если хотите, чтобы он находился "под" вашим MaterialAutoComplete
контролем.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ui="clr-namespace:XF.Material.Forms.UI;assembly=XF.Material.Forms"
xmlns:controls="clr-namespace:MyApp.Controls"
x:Class="MyApp.Views.AddAddressPage">
<ContentPage.Content>
<ScrollView>
<Grid>
<Label VerticalOptions = "Center" Margin="0,0,0,100" Text=" tesst"/>
<controls:MaterialAutocomplete
BackgroundColor="Transparent"
AlwaysShowUnderline="True"
OpenOnFocus="true"
SearchMember="Value"
VerticalOptions = "StartAndExpand"
SuggestionBorderColor="Silver"
ShowSeparator="true" MaxResults="5" EmptyText="No element found"
SuggestionBackgroundColor="WhiteSmoke"
Placeholder="Miasto"
ItemsSource="{Binding Cities}" SelectedItemCommand="{Binding CitySelectedCommand}">
<controls:MaterialAutocomplete.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Padding="3">
<Label Text="{Binding Value}" TextColor="Black" FontSize="Medium" />
</StackLayout>
</ViewCell>
</DataTemplate>
</controls:MaterialAutocomplete.ItemTemplate>
</controls:MaterialAutocomplete>
</Grid>
</ScrollView>
</ContentPage.Content>
</ContentPage>