WPF数据绑定(三)

摘要:
78<9newStudent(){Id=“5”,年龄=“15”}10};应该认为,最重要的绑定属性是源和路径。listboxStus.ItemsSource=stus;listboxStus.DisplayMemberPath=“名称”;我们还需要单击一段数据以显示其学生编号。

1、Itemsource绑定

我们经常遇到这种需求,一个列表里面显示一些数据,点击其中一条,显示其关联的数据,比如说,在列表中显示学生的姓名,点击某一个学生的姓名以后,会在textbox中显示出该学生的学号。如下图所示:

WPF数据绑定(三)第1张

列表中显示了学生的性命,点击其中一个学生,就会显示其学号。

1             <TabItem Header="ItemSource">
2                 <StackPanel>
3                     <TextBox Name="tbtItemId"/>
4                     <ListBox Name="listboxStus">
5                         
6                     </ListBox>
7                     
8                 </StackPanel>
9             </TabItem>
 1         private void ItemSourceBinding()
 2         {
 3             List<Student> stus = new List<Student>()
 4             {
 5                 new Student(){Id="1", Name="Tom", Age="15"},
 6                 new Student(){Id="2", Name="Jim", Age="15"},
 7                 new Student(){Id="3", Name="Lily", Age="15"},
 8                 new Student(){Id="4", Name="Lucy", Age="15"},
 9                 new Student(){Id="5", Name="Tim", Age="15"}
10             };
11             listboxStus.ItemsSource = stus;
12             listboxStus.DisplayMemberPath = "Name";
13 
14             Binding bd = new Binding("SelectedItem.Id") { Source = listboxStus};
15             tbtItemId.SetBinding(TextBox.TextProperty, bd);
16         }

如代码所示,首先初始化一个list stus(学生类我们前面的文章已经定义了),里面包含了五个学生,当然例子中为了简单直接使用代码初始化,实际工作中可以使用各种途径获得一个list。

要想和listbox绑定,就要告诉listbox数据源是谁,然后还要告诉他显示其中的那个字段,其实看了这么多例子,应该可以感觉到绑定最重要的无非是source和path这两个属性。

listboxStus.ItemsSource = stus;
listboxStus.DisplayMemberPath = "Name";

有了这两句,listbox就可以显示出数据了,不过别着急,还没有完,我们还需要点击一条数据能够显示出其学号。

Binding bd = new Binding("SelectedItem.Id") { Source = listboxStus};
tbtItemId.SetBinding(TextBox.TextProperty, bd);

我们还要把listbox的SelectedItem(也就是学生)的学号,绑定到textbox的Text属性上。这里面重要的也是source和path,source就是例子中listbox,path呢?SelectedItem是listbox的一个属性,表示当前选择的条目,而条目是一个学生的类,因此会有id这个属性。所以我们要和学号绑定的话path就是SelectedItem.Id,如果和年龄那么就是SelectedItem.Age。

虽然github被封了,但是我还是给出github的地址吧:

https://github.com/Dothegod/WPF_Training_Sample

顺便鄙视下政府,无知无耻!

免责声明:文章转载自《WPF数据绑定(三)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇10mybatis分页技术C#的dll被其他程序调用时,获取此dll正确的物理路径下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

数据库增删改查

一. 请写出数据库分离和附加的步骤   选中数据库右键→任务→分离   选中数据库右键→附加 二. 请写出数据库导出SQL脚本的步骤   选中数据库右键→生成脚本 三. 请写出SQL Server的四种完整性约束   实体完整性束  域完整性约束  引用完整性约束  自定义完整性约束 四. 如何设置表的主键和标识列   右键 △ 设置主键   标识列在标识...

Oracle数据库对象题库

一、    填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中。 在基本表不需要时,可以使用 drop table 语句撤消。在一个基本表撤消后,所有的数据都丢弃。所有相关的索引被删除。 可以使用 rename 语句改变表名(视图),要求必须是表(视图)的所有者。 根据约束的作用域,约束可以分为...

WPF数据绑定(四)

1、DataTemplate 上一部分已经讲了itemsource绑定,功能虽然实现了但是还是有点土,内容太单一了,如果能够修改listbox的界面,让更多的元素展示出来就完美了。 DataTemplate就可以实现这个。 1 <TabItem Header="DataTemplate"> 2...

hdu2190:悼念512汶川大地震遇难同胞——重建希望小学

http://acm.hdu.edu.cn/showproblem.php?pid=2190 Problem Description 下面是512汶川大地震部分受灾学校伤亡情况(惨痛!!) 1、 四川省都江堰市 聚源中学 伤亡情况:遇难学生人数(含失踪)320 详细说明: 一栋教学楼被震垮,该楼18个班420多名学生被埋,截至目前仅有不到100名获救。 2...

C# Wpf集合双向绑定

说明: msdn中   ObservableCollection<T> 类    表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。 在许多情况下,所使用的数据是对象的集合。 例如,数据绑定中的一个常见方案是使用 ItemsControl(如 ListBox、ListView 或 TreeView)来显示记录的集合。 可...

MSSQL 触发器

---触发器练习 --在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序 CREATE TABLE Student ( SID INT PRIMARY KEY --学号 ) CREATE TABLE BorrowRecord ( --学生借书记录表...