使用While循环在Xamarin表单中填充自定义ListView

时间:2018-02-24 02:15:36

标签: c# loops listview xamarin.forms

我对编程仍然很陌生,经过一天的撞击我的头后,我正在寻求帮助。

我最近在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>

1 个答案:

答案 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;