看起來我只需要設置高度ListView
等於Items
乘以Items
的高度。如何在Xamarin.Form中將ListView的高度設置爲等於所有ListViewItems的高度?
但是如何獲得高度爲ListViewItem
?
myListView.RowHeight
只是顯示-1
。
我宣佈ListView
這樣:
DataTemplate dTemplate = new DataTemplate(() => {
StackLayout sl = new StackLayout {
VerticalOptions = LayoutOptions.FillAndExpand,
Orientation = StackOrientation.Horizontal,
Padding = new Thickness(20, 10, 0, 10),
Spacing = 20
};
var temp = new Label { FontSize = 20 };
temp.SetBinding(Label.TextProperty, ".");
sl.Children.Add(temp);
return new ViewCell { View = sl };
});
ListView myListView = new ListView {
VerticalOptions = LayoutOptions.FillAndExpand,
ItemsSource = stringList,
ItemTemplate = dTemplate
BackgroundColor = Color.Red
};
我用以下結構(我不使用XAML):
<NavigationPage>
<ContentPage>
<ScrollView>
<StackLayout>
<ListView>
...
這是我的頁面的外觀與0 ListViewItems
(ListView
ISN的大小不隨數值變化):
StackLayout就夠了;如果您的項目總高度高於屏幕高度,則列表視圖將會過大。 – Bonelol