------- WindowsPhone 7手机开发、.Net培训、期待与您交流! -------
XMAL代码:
<DataGrid x:Name=grid1 AutoGenerateColumns="True"></DataGrid>
定义一个类Book:
public class Book { public int Id { get; set; } public string ISBN { get; set; } public string Name { get; set; } public string Author { get; set; } public Book(int _id, string _isbn, string _name, string _author) { Id = _id; ISBN = _isbn; Name = _name; Author = _author; } }
//定义Book数组,存放两个Book对象
Book[] books=new Book[2];
books[0] = new Book(1, "book001", "葵花宝典", "东方不败");
books[1] = new Book(2, "book002", "九阳真经", "达摩老祖");
//给grid1赋予数据源
grid1.ItemsSource = books;
这里grid1的数据源是Book对象数组,所以取grid1的ItemsSource的时候,也须定义一个数组来取,如下:
Book[] newBooks=(Book[])grid1.ItemsSource;
如果设定数据源和取数据源的类型不一致,运行时会发生错误!
如
List<Book> list = (List<Book>)grid1.ItemsSource;
报错:未处理InvalidCastException,无法类型转换
结论:DataGrid控件的ItemsSource属性,设置和取值须是相同的数据类型。
------- WindowsPhone 7手机开发、.Net培训、期待与您交流! -------