我遇到的小问题。我一直试图找到错误,但我找不到它,如果你可以指出它,或者给我一些很好的修正。至于这里的代码是:
using UIKit;
namespace App10
{
public class Application
{
// This is the main entry point of the application.
static void Main(string[] args)
{
var listView = new ListView();
listView.ItemsSource = new string[] {
"Trainer 1",
"Trainer 2",
"Trainer 3",
"Trainer 4",
"Trainer 5",
"Trainer 6",
};
listView.ItemsSource.Add("Trainer");
答案 0 :(得分:6)
这是因为数组没有Add函数。你应该使用List。
在WPF中,您最好使用ObservableCollection
。
static void Main(string[] args)
{
var listView = new ListView();
var myTrainers = new ObservableCollection<string>() {
"Trainer 1",
"Trainer 2",
"Trainer 3",
"Trainer 4",
"Trainer 5",
"Trainer 6",
};
listView.ItemsSource = myTrainers;
myTrainers.Add("Trainer");
}
答案 1 :(得分:1)
ListView.ItemsSource
是IEnumerable
。无论你分配给它,你都不能在它上面调用Add
,除非你施放它。
您拥有的最佳选择是将ItemsSource
绑定到ObservableCollection
类型的属性。这样,您仍然可以根据需要使用列表,并且视图可以绑定到它。
使用list属性创建视图模型。然后在视图中指定该视图模型。
答案 2 :(得分:0)
为什么要在iOS中的Main.cs中初始化listview。 ListView是一个Xamarin.Forms组件。并且列表视图的数据源必须是ObservableCollection In Xamarin.Forms
https://developer.xamarin.com/guides/xamarin-forms/user-interface/listview/data-and-databinding/