2012-06-09 49 views
0

一定有我丢失的东西,我想要做一个很简单的事情,比如我有一个像下面这样的类:绑定列表的Silverlight数据网格/ datafrom列

public class Person 
{ 
    public int ID { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public DateTime DateOfBirth { get; set; } 
    public List<string> phoneNumbers { get; set; } 
} 

我想

public Person person { get; set; } 
private void GetPerson() 
{ 
List<string> lst = new List<string>(); 
     lst.Add("123445"); 
     lst.Add("2345345"); 
     lst.Add("4576345"); 
     lst.Add("456784"); 
     lst.Add("789067"); 

     person = new Person() 
     { 
      ID = 1, 
      FirstName = "Kevin", 
      LastName = "Dockx", 
      DateOfBirth = new DateTime(1981, 5, 5), 
      phoneNumbers= lst 

     }; 
} 

然后

GetPerson(); 
    dataForm1.CurrentItem = person; 

什么,我做错了:它通过像这样绑定到数据形?

回答

0

那些您创建新列表,添加项目到列表并创建新人员的语句需要在方法中。你不能在方法之外有这些语句(与Person属性定义在同一级别)。

作为一个方面说明 - 当您尝试构建此代码时肯定会遇到编译器错误。我强烈建议养成习惯,试图理解并理解特定的编译器错误 - 因为他们已经告诉你你在做什么错误 :)

+0

嗨伊伦,感谢您的提示,其实部分你指出是在一个方法体内,我没有问题。我添加了代码,让你知道我在做什么。我应该提到这种方法......现在已经改变了。我无法将列表绑定到dataform/datagrid列。 – nilarya

+0

您能否更具体地了解这个问题? “有麻烦”是什么意思?你有错误吗? –

+0

我不想在绑定语法中指定我的List属性的名称。例如如果我有一个组合框,并希望它绑定到phoneNumbers属性,我会做类似comboBox1.ItemsSource = person.phoneNumbers;但在我的情况下,我不会事先知道列表属性的名称。这就是为什么我无法像exaples展示那样定义数据字段的原因。 dataForm1.CurrentItem = person;只要人没有列表属性就可以工作。数据表显示phoneNumbers的System.Collections.Generic.List'1 [System.String]。我想要dataform为phoneNumbers生成一个组合框。 – nilarya