zoukankan      html  css  js  c++  java
  • 【WP7】关于ListBox控件的数据绑定

    ListBox是一个列表控件,列表中的每一个项可以是任意的对象(object),我们可以通过模板来定义每一个项的显示和数据

    下面介绍ListBox的模板的定义,和数据绑定

      1、定义一个ListBox控件,先看代码

        <ListBox HorizontalAlignment="Left" Margin="10,10,0,84" Name="lbItemList" Width="440" > 
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Grid Margin="2,10,2,2" Height="auto">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="auto"/>
                            <RowDefinition Height="auto"/>
                            <RowDefinition Height="auto"/>
                            </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                            <ColumnDefinition Width="Auto" />
                        </Grid.ColumnDefinitions>
    
                        <TextBlock Grid.Column="0" Grid.Row="0" Text="学号:"/>
                        <TextBlock Grid.Column="0" Grid.Row="1" Text="姓名:"/>
                        <TextBlock Grid.Column="0" Grid.Row="2" Text="电邮:"/>
                        <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding StuNo}"/>
                        <TextBlock Grid.Column="1" Grid.Row="1" Text="{Binding Name}"/>
                        <Rectangle Fill="Blue" Width="200" Height="20" Grid.Column="1" Grid.Row="2" />
                    </Grid>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

        模板包含一个Grid控件,Grid控件内有5个TextBlock控件和一个矩形控件Rectangle,两个控件绑定了对象的两个属性StuNo,Name

        接下来是给ListBox添加项,两个TextBlock文本控件显示的内容就是添加项的对应的两个属性的值

        所以先要定义一个ListBox项的类

            public class Student
            {
                public string StuNo { get; set; }
                public string Name { get; set; }
    
            }

        接下来是创建对象,添加到ListBox中

        定义一个变量list

            System.Collections.ObjectModel.ObservableCollection<Student> list = new System.Collections.ObjectModel.ObservableCollection<Student>()
            list.Add(new Student { StuNo = "201201", Name = "Bomo" });
            list.Add(new Student { StuNo = "201202", Name = "Tobi" });

        把list绑定到ListBox中

            this.lbItemList.ItemsSource = list;

        

        看一下效果 

         

     

  • 相关阅读:
    xml解析模块
    python面向对象基础
    python hashlib模块
    os和sys模块
    python反射
    正则表达式re模块
    踩的python列表及for循环一个坑儿
    python序列化模块json和pickle
    python时间模块-time和datetime
    64匹马、8赛道,至少多少轮比赛找出速度最快的4匹马?
  • 原文地址:https://www.cnblogs.com/bomo/p/2758243.html
Copyright © 2011-2022 走看看