读书人

关于wpf的ListView想用该控件透过后

发布时间: 2012-10-21 09:00:07 作者: rapoo

关于wpf的ListView,想用该控件通过后台代码添加新项,添加字符串会,但控件就不行了,还望高手帮忙解决!

C# code
  已定义List<Canvas> li= new List<Canvas>();  private void Button_Click(object sender, System.Windows.RoutedEventArgs e)  {     Canvas c1 = new Canvas();     Canvas c2 = new Canvas();     Canvas c3 = new Canvas();     Canvas c4 = new Canvas();          BitmapImage bi = new BitmapImage();     //图片            bi.BeginInit();     bi.UriSource = new Uri("UserPic/P_1.png", UriKind.Relative);                bi.EndInit();     Image myImage1 = new Image();            myImage1.Stretch = Stretch.Fill;     myImage1.Width = 20;     myImage1.Height = 20;     myImage1.Source = bi;     c1.Children.Add(myImage1);          TextBlock t_Id = new TextBlock();     t_Id.Text = "1023444";     c2.Children.Add(t_Id);          TextBlock t_Jifen = new TextBlock();     t_Jifen.Text = "233";     c3.Children.Add(t_Jifen);          TextBlock t_Money = new TextBlock();     t_Money.Text = "5000";     c4.Children.Add(t_Money);      li.Add(c1);     li.Add(c2);     li.Add(c3);     li.Add(c4);     ListViewItem lvItem1 = new ListViewItem();     lvItem1.Content =li;          listview.Items.Add(lvItem1);  }

显示结果为:如图

怎样就能显示正常的图片和文字了??急。。。。。。。。。。。。。。。。
还望高手们顶囊相助!!!
希望尽量按这个思路来处理,特别需要。。。


[解决办法]
ListViewItem并不是你要显示的数据的UI
而是你要显示的数据的源,也就是数据本身

假设是ListView-GridView结构
你要做的是把源数据的属性绑定到listview的GridView列(column)上
例如item.id绑定到id列
item.name绑定到name列
item.pictureUrl绑定到picture列(通过定义这一列的CellTemplate来显示图片)
动态添加数据时只需要listview.Items.Add(item)就可以了

不要把数据和UI搞混了

读书人网 >.NET Framework

热点推荐