ListViewin Xamarin.Forms имеет свойство RowHeightproperty, но кажется, не имеет значения, какую высоту я его установил.
Я использую Visual Studio 2013, у меня есть лицензия на бизнес-версию для Xamarin, я использую эмулятор Android MonoForAndroid_API_15, и я считаю, что у меня последняя версия всего, что связано с этим. Я пока не могу запускать эмуляторы iOS или WinPhone, поэтому не могу сравнивать. Это просто проблема эмулятора Android или неправильно задано свойство RowHeight?
Вот мой унаследованный ContentPage (обратите внимание, что я установил RowHeight):
public class QuizzesPage : ContentPage
{
private readonly ListView _listView;
public QuizzesPage()
{
Title = "Test";
NavigationPage.SetHasNavigationBar(this, true);
_listView = new ListView {RowHeight = 20};
Content = _listView;
}
protected async override void OnAppearing()
{
base.OnAppearing();
_listView.ItemsSource = new[] {"One", "Two", "Three", "Four", "Five"};
}
}
In App:
public class App
{
public static Page GetMainPage()
{
return new NavigationPage(new QuizzesPage());
}
}
И вот визуальный результат:

Обратите внимание, что мой код является упрощенной версией пример TODO, используемый Xamarin, где вы видите, как они устанавливают свойство RowHeight так же, как и я.
Независимо от того, что я установил как RowHeight, строки имеют одинаковую огромную высоту. Что я могу сделать?
Редактировать 1: я планирую перейти на Windows 8.1 на этой неделе, и тогда я смогу протестировать, как это выглядит на WinPhone. Чтобы добавить Mac в сеть на работе, мне сначала нужны разрешения. Вот почему я пока что придерживаюсь только эмулятора Android.
Редактировать 2: Я попытался установить для HasUnevenRows значение true, поскольку предлагается здесь, но это только заставило его принимать более длинные записи, а не изменять высоту (или шрифт) строки, что на мой вкус слишком велико.
Изменить 3: я опубликовал решение / обходной путь в качестве ответа. По крайней мере, я полностью контролирую высоту ячеек. Но RowHeight, похоже, мало что делает.