WPF笔记整理--DataBinding(1)

WPF的数据绑定是一大亮点。如果用WPF而不用数据绑定,那就太失败了。

也不多废话,如果不知道如何绑定,请百度一下。这里简单的提几点:

1. ObservableCollection可用于集合绑定,由于已经实现了INotifyPropertyChanged,可以通过添加删除集合中的元素来实现对UI列表项更新。注意,当一个ObservableCollection已经有元素,通过再次new集合并不能实现清空页面已显示的内容。 如果希望ObservableCollection中某列表项的属性值改变显示在界面上,要实现INotifyPropertyChanged。例如,有个应用是关于卖图书的电子商务网站,有个页面是用来显示图书信息的。图书的对象Book,有3个属性:书名Name,价格Price,数量Count。用WPF数据绑定实现在图书增减,价格和数量变化时页面随时更新。书的集合定义
ObservableCollection<Book>,这样在图书增加,或移除会在UI体现。而Book 对应的class要实现INotifyPropertyChanged,这样在Price和Count变化时会在UI体现。

2.
用ListBox的时候,ItemsSource绑定了对象,这事如果在xaml里面又定义了ListBoxItem标签,会导致程序一启动就崩溃,貌似VS还捕获不到异常。

3.这个是前几天遇到的,还没时间研究原因是什么。只提一下现象和解决办法。

有个UserControl包含数量不定的图片,而且要保证这个图片列表随时更新。于是定义了个Timer来Check是否有新的图片数据,如果有就更新图片列表。图片列表是保存在ObservableCollection中。在xaml中给这个UC定义x:Name,然后在ListBox的ItemsSource
==”{Binding ElementName=UCName,
Path=Collection}”。结果无论如何界面上都没有图片显示。后来debug时发现,后台的collection对象的值是expected,而ListBox的ItemsSource一直是null。目前解决办法是在Loaded事件中,直接ItemsSource=collection就正常了。目前怀疑是多线程的原因。

WPF笔记整理--DataBinding(1),布布扣,bubuko.com

时间: 2024-10-04 06:59:41

WPF笔记整理--DataBinding(1)的相关文章

WPF笔记整理--DataBinding(2)

图片绑定时的一个问题.场景如下: 有2个窗口A和B,A窗口的业务逻辑是编辑生成图片.然后从A窗口可以打开B窗口.B窗口是由A生成所有图片的列表.当在A窗口编辑生成图片并保存后打开B窗口就会看到刚刚生成的图片.关闭B窗口,可以在A窗口中继续编辑图片,再次保存图片并打开B窗口,就会看到最新的图片的变化.图片是保存在本地路径. 解决方案:定义一个Converter,将图片读到MemoryStream中,然后再Binding.代码如下: public object Convert(object valu

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X

Deep Learning(深度学习)学习笔记整理系列七

Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除. 3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢. 4)阅读本文需要机器学习.计算机视觉.神经网络等等基础(如果没有也没关系了,没

Deep Learning(深度学习)学习笔记整理系列之(五)

Deep Learning(深度学习)学习笔记整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主

Deep Learning(深度学习)学习笔记整理系列之(三)

Deep Learning(深度学习)学习笔记整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主

web开发框架Django笔记整理

安装 python  setup.py  install 使用 1.创建工程 django-admin.py startproject Data_Collet_Center 2.运行开发server python manage.pyrunserver 0.0.0.0:8000 3.创建应用 python manage.py startapp DCC 4.配置 Data_collect_Center/settings.py 配置DB: 'ENGINE': 'django.db.backends.s

Deep Learning(深度学习)学习笔记整理系列之(六)

Deep Learning(深度学习)学习笔记整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主

Deep Learning(深度学习)学习笔记整理系列之(七)

Deep Learning(深度学习)学习笔记整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主

Deep Learning(深度学习)学习笔记整理系列之(八)

Deep Learning(深度学习)学习笔记整理系列 [email protected] http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04-08 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主