ListView不包含“添加”的定义?

时间:2016-05-30 07:17:27

标签: c# xamarin

我遇到的小问题。我一直试图找到错误,但我找不到它,如果你可以指出它,或者给我一些很好的修正。至于这里的代码是:

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");        

3 个答案:

答案 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.ItemsSourceIEnumerable。无论你分配给它,你都不能在它上面调用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/

相关问题