WPF学习笔记 - 绑定到集合
来源:互联网 发布:c语言求1到20的阶乘和 编辑:程序博客网 时间:2024/05/16 01:05
ListBox以及所有的ItemsControl都有一个叫ItemSource的依赖属性可以作为目标属性进行绑定。
<ListBox x:Name="pictureBox"
ItemSource="{Binding Source={StaticResource photos}}"
/>
为了让目标属性与源属性保持同步,必须实现INotifyPropertyChanged接口,事实上ObservableCollection既实现了这个接口,还实现了INotifyCollectionChanged接口,所以从这个类继承的源对象可以实现集合发生改变时的同步。
为了让ListBox显示得更友好一些,可以配合ListBox的另外一个依赖属性DisplayMemberPath来绑定需要显示的内容,例如:
<ListBox x:Name="pictureBox" DisplayMemberPath="Name"
ItemSource="{Binding Source={StaticResource photos}}" (photos对象有一个Name属性)
/>
需要注意的是,ItemsControl的ItemSource属性与Items属性不能同时使用,ItemSource只有当Items属性为空时才能设置,反过来也是,但是在代码中,不管是通过哪种方式添加的项,总是通过Items属性来获得的。
Selector(选择控件,比如ListBox)
当把一个Selector与一个集合绑定时,WPF可以跟踪选中项,这样有一个好处是,其他绑定到这个源的控件可以利用这些信息,但不需要自己去写逻辑。这种特性可以用来创建主/从关系的用户界面,或者可以同步多个绑定到相同源的Selector控件,他们的实现是通过Selector的IsSynchronizedWithCurrentItem属性来设置的, 例如:
<ListBox IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name"
ItemSource=="{Binding Source={StaticResource photos}}" />
<ListBox IsSynchronizedWithCurrentItem="True" DisplayMemberPath="DateTime"
ItemSource=="{Binding Source={StaticResource photos}}" />
<ListBox IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Size"
ItemSource=="{Binding Source={StaticResource photos}}" />
这样,当改变其中任意一个控件的选中项时都会改变另外两个控件。如果其中任何一个没有设置该属性为True,则不会影响到其他的控件。需要注意,它不支持多选中项的同步。
- WPF学习笔记 - 绑定到集合
- wpf学习笔记-简单绑定
- WPF学习笔记之-WPF数据绑定
- WPF学习——绑定到变量
- wpf学习笔记-数据绑定功能总结
- WPF学习笔记 - 在XAML里绑定
- WPF学习笔记:ComboBox的数据绑定
- WPF学习笔记之数据绑定
- WPF学习笔记:数据绑定与DataContext
- WPF学习:绑定
- [WPF学习]数据绑定
- 学习WPF绑定
- WPF学习----数据绑定
- WPF数据绑定学习
- WPF学习笔记 - 数据绑定(在代码中)
- WPF学习笔记 - 与.Net对象属性绑定
- wpf数据绑定和数据库基础-学习笔记1
- WPF学习笔记——ListBox用ItemsSource绑定数据源
- eclipse快捷键
- GML、SVG、VML的比较
- Linux操作系统下IPTables配置方法详解
- System.Type类
- C# 中创建对象数组
- WPF学习笔记 - 绑定到集合
- cookie 和session 的区别
- c++的工程文件的编译顺序
- hdu 2955 动态规划 01背包
- Great common divisor 最大公约数
- c++中的static和extern数据类型
- 动态加载程序集与晚期绑定
- [Three20]TTStyledTextLabel实现原理浅出
- 2.4、2.6字符设备注册对比