惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
CERT Recently Published Vulnerability Notes
V
Vulnerabilities – Threatpost
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
Schneier on Security
Schneier on Security
T
Threatpost
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
T
Threat Research - Cisco Blogs
罗磊的独立博客
Security Latest
Security Latest
D
Docker
S
Secure Thoughts
博客园 - 聂微东
A
Arctic Wolf
Recorded Future
Recorded Future
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
P
Palo Alto Networks Blog
Project Zero
Project Zero
Blog — PlanetScale
Blog — PlanetScale
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
T
The Blog of Author Tim Ferriss
Latest news
Latest news
AWS News Blog
AWS News Blog
U
Unit 42
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Know Your Adversary
Know Your Adversary
Vercel News
Vercel News
WordPress大学
WordPress大学
Spread Privacy
Spread Privacy
F
Full Disclosure
Martin Fowler
Martin Fowler
T
The Exploit Database - CXSecurity.com
Attack and Defense Labs
Attack and Defense Labs
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
小众软件
小众软件
宝玉的分享
宝玉的分享

博客园 - 王一平

手把手教你开发Windows Phone 8应用程序(序) 使用苹果版博客编辑器发布的文章 关于翻译内容的阅读提示 第二章 使用Silverlight增强您的站点 第一章 入门 第二章 开始认识XAML (3) [转贴] Obscure Error: AddressFilter mismatch at the EndpointDispatcher ProxyService module错误提示,没有实现某某方法 在采用了PRISM框架中为TabControl的TabItem应用自定义样式的问题 安装好Oracle 10G Express后,在事件查看器里出现“The OracleXETNSListener service terminated unexpectedly”的错误 编译通过,但运行时报resolution of the dependency failed 介绍Silverlight Silverlight 4 Beta 公布 Visual Studio :: Breakpoints will not currently be hit, symbols are not loaded 关于PropertyChanged事件何时实例化的问题 在xaml文件中使用Command绑定语法运行时报command AG_E_PARSER_BAD_PROPERTY_VALUE 编译通过,但在运行时报Resolution of the dependency failed 关于使用Silverlight Toolkit 3 中的主题后DataGrid无法呈现数据的问题 第二章 开始认识XAML (2)
关于PropertyChanged事件何时实例化的问题
王一平 · 2009-11-29 · via 博客园 - 王一平

由于Silverlight自带的Button控件没有将IsEnabled属性实现为依赖项属性,因此,只有自己构造一个Button来实现IsEnabled属性的依赖项特性,大家知道与依赖项属性进行绑定的值必须是一个可被监听的值,也就是实现了INotifyPropertyChange接口的类,然后属性要放到OnPropertyChanged方法里面来进行监听,OnPropertyChanged方法会判断PropertyChangedEventHandler的实例是不是为空,如果不为空才会去监听,问题就出在PropertyChangedEventHandler何时被实例化,在我的项目里面我的ViewModel里面有一个自定义属性名叫IsButtonEnabled(类型为Boolean),这个属性用来和我的View里面的一个自定义按钮的属性IsButtonEnabled进行绑定的。在MVVM模式中,由于ViewModel先于View被实例化,所以此时的PropertyChangedEventHandler的实例为null,只有View被实例化并和ViewModel进行绑定后,PropertyChangedEventHandler才被实例化,在我的项目中后台逻辑是由View的PageLoad事件进行启动的。我之前的做法是,在ViewModel的构造方法中对IsButtonEnabled属性进行初始化,遗憾的是PropertyChanged并没有监测值的变化,因为此时的PropertyChangedEventHandler的实例还是null,后来我把对IsButtonEnabled属性的设置放到了View的PageLoad里面,问题解决。