У меня есть ListView
, который показывает предложения. Как я могу установить Height
моего списка в зависимости от количества элементов?
Максимальное количество предметов - 10, а минимальное - 1.
Я добавил базу кода запроса высоты на количество результатов, которые все еще не работают
Мой XAML:
<Label Text="RETAILER NAME" StyleClass="lbl-fieldform"/>
<Entry x:Name="NameSearch" StyleClass="fieldForm" Focused="NameSearch_Focused" Unfocused="NameSearch_Unfocused" TextChanged="NameSearch_TextChanged"/>
<ListView x:Name="lstName" IsVisible="False" HeightRequest="50" ItemTapped="lstName_ItemTapped">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout StyleClass="lstContainer">
<Label StyleClass="lstName" Text="{Binding FileAs}"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Label Text="RETAILER CODE" StyleClass="lbl-fieldform"/>
<Picker Title="Select Retailer Code" x:Name="codePicker" ItemsSource="{Binding RetailerCode}" ItemDisplayBinding="{Binding RetailerCode}" StyleClass="fieldForm" IsEnabled="False"/>
<Label Text="STREET" StyleClass="lbl-fieldform"/>
<Entry IsEnabled="false" StyleClass="fieldForm" x:Name="entStreet"/>
Моя формула для роста:
var db = DependencyService.Get<ISQLiteDB>();
var conn = db.GetConnection();
string sql = "SELECT * FROM tblContacts WHERE FileAs LIKE '%" + keyword + "%' ORDER BY FileAs LIMIT 10";
var getUser = conn.QueryAsync<ContactsTable>(sql);
var resultCount = getUser.Result.Count;
if (resultCount > 0)
{
var result = getUser.Result;
lstName.HeightRequest = (resultCount * 50) + (10 * resultCount);
lstName.ItemsSource = result;
}
else
{
lstName.IsVisible = false;
}