Установить высоту списка в зависимости от количества элементов в формах Xamarin - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть 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;
}

1 Ответ

0 голосов
/ 10 сентября 2018

Удалить + (10 * resultCount); в вашем коде

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...