WPF:数据绑定--PropertyChangeNotification属性更改通知
PropertyChangeNotification属性更改通知
实现效果:
1.拍卖金额自动随属性值变化而通知界面绑定的值变化。
关键词 :
- INotifyPropertyChanged
- ObservableCollection<T>
界面xaml:
数据模板
<DataTemplate x:Key="BidItemDataTemplate"><Canvas Width="300" Height="20"> <TextBlock FontSize="14" Foreground="DarkSlateGray" Width="180" Canvas.Left="0" Text="{Binding Path=BidItemName}"/> <TextBlock FontSize="14" Foreground="DarkSlateBlue" Text="$" Canvas.Left="180"/> <TextBlock FontSize="14" Foreground="DarkSlateBlue" Width="80" Canvas.Left="190" Text="{Binding Path=BidItemPrice}"/> </Canvas> </DataTemplate>
<ItemsControl Name="MyListBox" DockPanel.Dock="Top" Background="Silver" Width="315" Height="80" ItemsSource="{Binding Source={StaticResource MyDataSource}}" ItemTemplate="{StaticResource BidItemDataTemplate}"/>
后台代码:
数据类,显示其中的一个属性更通知:
public decimal BidItemPrice
{get { return _biditemprice; }set { if (_biditemprice.Equals(value) == false) { _biditemprice = value; // Call OnPropertyChanged whenever the property is updated OnPropertyChanged("BidItemPrice"); } } }
具体业务代码:
初始化类时执行每隔一段时间,更新属性的值,然后作为绑定源反映到界面数值变动。
public class BidCollection : ObservableCollection<Bid> { private readonly Bid _item1 = new Bid("Perseus Vase", (decimal) 24.95); private readonly Bid _item2 = new Bid("Hercules Statue", (decimal) 16.05); private readonly Bid _item3 = new Bid("Odysseus Painting", (decimal) 100.0); public BidCollection() { Add(_item1); Add(_item2); Add(_item3); CreateTimer(); } private void Timer1_Elapsed(object sender, ElapsedEventArgs e) { _item1.BidItemPrice += (decimal) 1.25; _item2.BidItemPrice += (decimal) 2.45; _item3.BidItemPrice += (decimal) 10.55; } private void CreateTimer() { var timer1 = new Timer { Enabled = true, Interval = 2000 }; timer1.Elapsed += Timer1_Elapsed; } }
扩展:
- 设置 Enabled 到 true 等同于调用 Start, ,而设置 Enabled 到 false 等同于调用 Stop。
- 如果 Enabled 设置为 true 和 AutoReset 设置为 false, ,则 Timer 引发 Elapsed 事件仅当第一次间隔到期。
- 要引发的信号 Elapsed 事件总是在排队等待执行 ThreadPool 线程。 这可能会导致 Elapsed 后引发事件 Enabled 属性设置为 false。??
转载于:https://www.cnblogs.com/Jeely/p/11075991.html
WPF:数据绑定--PropertyChangeNotification属性更改通知相关推荐
- 【万里征程——Windows App开发】数据绑定——简单示例、更改通知、数据转换...
简单的数据绑定示例 相比于理论,我更倾向于从实践中开始博客,尤其是对于数据绑定.那么,我们先来看看几个简单的例子. 1.数据绑定到TextBox 我们依旧使用前面的闹钟类来开始.在下面的代码中,我们有 ...
- WPF and Silverlight 学习笔记(二十):WPF数据绑定概述
WPF数据绑定为应用程序提供了一种表示数据和与数据交互的简单而又一致的方法.元素能够以公共语言运行库 (CLR) 对象和 XML 的形式绑定到各种数据源中的数据. 一.数据绑定的基本概念: 数据绑定涉 ...
- Wpf 数据绑定简介、实例1
简介: 1.WPF绑定使用的源属性必须是依赖项属性,这是因为依赖项属性具有内置的更改通知支持,元素绑定表达式使用了Xaml扩展标记, WPF绑定一个控件是使用Binding.ElementName, ...
- WPF的依赖属性和附加属性(用法解释较全)
转:https://www.cnblogs.com/zhili/p/WPFDependencyProperty.html 一.引言 感觉最近都颓废了,好久没有学习写博文了,出于负罪感,今天强烈逼迫自己 ...
- 【转载】wpf数据绑定binding与INotifyPropertyChanged
WPF数据绑定号称是:数据变化会通过界面更新数据,这对新手而言,绝对是个误区,在我听说这句话的时候,我真是高兴,用了以后才发现其实没有那么美.要实现前面号称的特性,需要三个条件:1.进行绑定,2.绑定 ...
- WPF数据绑定(1-简单数据绑定)
2019独角兽企业重金招聘Python工程师标准>>> 附WPF书籍推荐: 1.不要为书籍经销商的炒作蒙蔽,国内翻译的<WPF揭秘>被褒扬成经典,其实我认为该书浅尝则止, ...
- WPF 中依赖属性的继承(Inherits)
WPF中依赖属性的值是是可以设置为可继承(Inherits)的,这种模式下,父节点的依赖属性会将其值传递给子节点.例如,数据绑定中经常使用的DataContextProperty: var host ...
- WPF动画之后属性值无法改变
WPF动画之后属性值无法改变 原文:WPF动画之后属性值无法改变 前一段时间使用WPF写2048游戏的时候,遇到下面的情形:使用按键对色块进行移动时,触发位置左边X和Y属性的DoubleAnimati ...
- WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性
原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...
最新文章
- Windows 搭建ASP.NET Boilerplate项目开发环境
- centos7.4 ngixn1.13.10 mysql5.7.21 php7.2.3 源码编译安装之后php无法连接mysql
- 二元一次函数最值问题_高中数学必考知识点:二元一次不等式(组)及简单的线性规划问题...
- SSAS(分析服务)优化手册
- kafka重复消费问题
- Spring MVC之基于java config无xml配置的web应用构建
- centos安装python3.6.3、pip_Centos 7安装python3和pip
- JS判断当前手机类型
- PreferenceActivity 分屏显示 分析
- ms office excel2013教程 - 数据有效性
- python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)
- IntelliJ IDEA java项目导入jar包,打jar包
- 小学文凭宝妈在家开网店?其实做跨境并不难!
- TOMCAT8配置(已配置好环境变量,端口为8080),但localhost:8080/显示404错误
- Linux【shell】 shell编程
- 心电信号越界怎么回事_【心电学】易误诊为起搏器功能异常的心电图表现
- pcl——VoxelGrid滤波器
- 微软账户登不上解决方案
- 四元组类,定义了四元组类的各种方法
- 计算机基本知识实训报告,计算机基础实训报告总结
热门文章
- Laravel 任务调度(Console)
- QueryList的使用
- ASP.NET Core WebApi 返回统一格式参数
- Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor 栈 链表
- HDU 3709 Balanced Number
- 滴滴专车——司机提现流程
- PhoneGap 1.5版本 cordova.js 简析 3(转)
- asp.net 子页面调用外部 js
- 没装Sql Server 2005 Express就不能使用webpart控件?
- android 怎么加链接地址,Android TextView添加超链接的方法示例