我对编程仍然很陌生,经过一天的撞击我的头后,我正在寻求帮助。
我最近在Xamarin Forms中一直在搞乱listviews,现在我正在尝试使用while循环来生成我的所有行。
我真正想要做的是使用while循环或其他东西来填充下面代码片段的大括号“{}”中的区域
TransactionsList.ItemsSource = new List<Contacts>() { };
当我添加
时,他们现在正在设置它new Contacts() { ListAmount = TransactionsAmounts[i], ListDescription = TransactionsDescriptions[i], }
在括号内我可以在listview中创建一个新行。这很好,但现在我想以一种方式来实现它,这样我就可以用我的数组填充它,而不必写出每一行来创建一行。我希望我的数组能够决定列表的大小。 (数组总是大小相同)
有更简单的方法吗?或者有没有办法使用循环或其他东西来填充大括号中的区域?
希望这是有道理的。我不太擅长描述这样的事情。如果您需要更多信息或其他任何信息,请告诉我。
下面是listview xaml
<ListView x:Name="TransactionsList" HasUnevenRows="True">
<ListView.ItemTemplate >
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<StackLayout Orientation="Vertical">
<Label Text="{Binding ListAmount}" Font="18"></Label>
<Label Text="{Binding ListDescription}" TextColor="Gray"></Label>
</StackLayout>
<!-- <Label Text="{Binding ListDates}" TextColor="Blue" HorizontalOptions="EndAndExpand" HorizontalTextAlignment="End"></Label> -->
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
答案 0 :(得分:3)
var contacts = new List<Contacts>();
for (int ndx = 0; ndx < trasactionCount; ndx++) {
contacts.Add(new Contacts { ListAmount = TransactionsAmounts[ndx], ListDescription = TransactionsDescriptions[ndx] });
}
TransactionsList.ItemsSource = contacts;