黑马程序员 WPF中DataGrid的ItemsSource属性的赋值和取值的差异

------- 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对象数组,所以取grid1ItemsSource的时候,也须定义一个数组来取,如下:

Book[] newBooks=(Book[])grid1.ItemsSource;


如果设定数据源和取数据源的类型不一致,运行时会发生错误!

List<Book> list = (List<Book>)grid1.ItemsSource;

报错:未处理InvalidCastException,无法类型转换

 

结论:DataGrid控件的ItemsSource属性,设置和取值须是相同的数据类型。


------- WindowsPhone 7手机开发.Net培训、期待与您交流! -------

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值