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;

        

        看一下效果 

         

     

  • 相关阅读:
    python 去重
    怎样稳稳获得年化高收益
    module_loader.py
    mac上安装ta-lib
    mac上安装memcache
    创建widget
    smartsvn 用法
    用nifi executescript 生成3小时间隔字符串
    TclError: no display name and no $DISPLAY environment variable
    【C#】详解C#序列化
  • 原文地址:https://www.cnblogs.com/bomo/p/2758243.html
Copyright © 2011-2022 走看看