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

推荐订阅源

博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
G
Google Developers Blog
B
Blog
Engineering at Meta
Engineering at Meta
阮一峰的网络日志
阮一峰的网络日志
The Register - Security
The Register - Security
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 叶小钗
The Cloudflare Blog
The Hacker News
The Hacker News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
雷峰网
雷峰网
F
Fortinet All Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
A
About on SuperTechFans
量子位
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
H
Help Net Security
Help Net Security
Help Net Security
P
Palo Alto Networks Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Troy Hunt's Blog
W
WeLiveSecurity
V
Vulnerabilities – Threatpost
T
The Exploit Database - CXSecurity.com
Know Your Adversary
Know Your Adversary
Apple Machine Learning Research
Apple Machine Learning Research
Scott Helme
Scott Helme
N
News | PayPal Newsroom
AWS News Blog
AWS News Blog
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
腾讯CDC
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
TaoSecurity Blog
TaoSecurity Blog
GbyAI
GbyAI
Y
Y Combinator Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
D
Docker

博客园 - 王一平

手把手教你开发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 公布 关于PropertyChanged事件何时实例化的问题 Visual Studio :: Breakpoints will not currently be hit, symbols are not loaded 在xaml文件中使用Command绑定语法运行时报command AG_E_PARSER_BAD_PROPERTY_VALUE 编译通过,但在运行时报Resolution of the dependency failed 关于使用Silverlight Toolkit 3 中的主题后DataGrid无法呈现数据的问题 第二章 开始认识XAML (2)
关于PropertyChanged事件何时实例化的问题
王一平 · 2009-11-19 · 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里面,问题解决。