前景提要
WPF mvvm中INotifyPropertyChanged中的PropertyChanged事件在那里实现的
0 悬赏园豆: 20 [待解决问题] public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string status)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(status));
}
}
刚接触mvvm,请问PropertyChanged这个事件哪里实现的,全局没有实现过是封装在freamwork那个dll了么,很疑惑,请大神解答 PropertyChanged mvvm IT_Poor_Bird | 初学一级 | 园豆: 124
提问于:2020-06-03 09:42 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(3) 0 任何你自己写的类,只要实现了 INotifyPropertyChanged 接口,就可以,够开放了吧。
答案就是,没有写好的,因为写好的类就限制了你必须从这个类开始继承。
很多第三方MVVM Library都有实现好的基础类。
MVVMCross, MVVMLight, Prism 爱编程的大叔 | 园豆:30664 (高人七级) | 2020-06-03 09:45 我想问的是为什么实现了INotifyPropertyChanged ,就能用PropertyChanged这个事件,他是封装在哪里了 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-03 09:56 @IT_Poor_Bird:
region 程序集 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.dll
endregion
using System.ComponentModel;
namespace System.ComponentModel
{
//
// 摘要:
// 提供对 C# 代码生成器和代码编译器的实例的访问权限。
public interface INotifyPropertyChanged
{
//
// 摘要:
// 在属性值更改时发生。
event PropertyChangedEventHandler PropertyChanged;
}
}
这就是接口的定义。 支持( 0 ) 反对( 0 ) 爱编程的大叔 | 园豆:30664 (高人七级) | 2020-06-03 10:24 @爱编程的大叔:
我知道 ,我是想看这个事件哪里有实现了 怎么可以直接用 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-03 10:46 @爱编程的大叔: 这里只是定义了 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-03 10:47 @IT_Poor_Bird:
我觉得你可以看看c#的委托方面的知识。
Delegate
随便找了个链接给你看看,可能不一定讲得够清楚,不过你可以延申自己找找相关的文章看看。
探究C#中的Delegate、Event和UnityEvent 支持( 0 ) 反对( 0 ) 爱编程的大叔 | 园豆:30664 (高人七级) | 2020-06-03 11:20 @爱编程的大叔: 我觉得你并没有明白我的意思,PropertyChanged += 方法,这里的“方法”在那里实现的,明白? 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-03 13:40 @IT_Poor_Bird:
表达清楚是提问者的责任,不是回答者的。
在你的提问中,并没有
PropertyChanged += 方法
这么一行语句。
PropertyChanged += 这是事件订阅,可以有无数个订阅者的,订阅函数需要你来实现。 支持( 0 ) 反对( 1 ) 爱编程的大叔 | 园豆:30664 (高人七级) | 2020-06-03 14:53 @爱编程的大叔: 不是我刚,你其实也并不知道,到现在你也没有明白被人问的是啥,楼下的我没说人家都知道再说啥 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-04 11:24 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 你说的“实现”是什么意思? 会长 | 园豆:8408 (大侠五级) | 2020-06-03 11:00 这个PropertyChanged是个事件对吧,在那个类中对这个事件进行的订阅,或者说对他进行add
PropertyChanged += 方法 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-03 13:39 @IT_Poor_Bird: 那个是wpf类库自己实现的。这个事件触发后会更新UI 支持( 0 ) 反对( 0 ) 会长 | 园豆:8408 (大侠五级) | 2020-06-03 13:43 @会长: 是的 ,我就是想知道这个是哪个类库实现的 我要反编译进去看下源码 支持( 0 ) 反对( 0 ) IT_Poor_Bird | 园豆:124 (初学一级) | 2020-06-03 13:44 @IT_Poor_Bird: 这个我没研究过,你看的真细啊 支持( 0 ) 反对( 0 ) 会长 | 园豆:8408 (大侠五级) | 2020-06-03 13:46 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 曾经我也有这个疑问。。后来忘了谁跟我说的,框架自己实现了 猝不及防 | 园豆:1976 (小虾三级) | 2020-06-04 10:18 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。