首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PropertyChanged委托引发多个PropertyChanged事件时出现问题

使用PropertyChanged委托引发多个PropertyChanged事件时出现问题
EN

Stack Overflow用户
提问于 2016-10-27 15:33:00
回答 1查看 38关注 0票数 0

我有一个类RuleDependency和两个属性IsNullValueTypeEnabled。我们正在使用silverlight为我们的用户界面,我希望有以下功能。当IsNull属性更改时,我希望为第二个属性ValueTypeEnabled引发PropertyChanged事件。请注意,这是一个分部类,作为来自for服务的类的扩展,并且我在引用中只有IsNull Property,所以我不能在IsNull PropertyRaisePropertyChanged方法上为我的ValueTypeEnabled设置。我做了以下工作:

代码语言:javascript
复制
 public partial class RuleDependency
    {
        public RuleDependency() {
            PropertyChanged += RuleDependency_PropertyChanged;            
        }

        private void RuleDependency_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "IsNull") {
                this.RaisePropertyChanged("IsNull");
                this.RaisePropertyChanged("ValueTypeEnabled");
            }
        }

        private bool _valueTypeEnabled;


        public bool ValueTypeEnabled
        {
            get {
                return  (IsNull == null || !IsNull.Value)
            }
        }
    }

由于未知原因,修改IsNull property不会引发ValueTypeEnabled属性的事件。

EN

回答 1

Stack Overflow用户

发布于 2016-10-27 16:15:26

问题是这个分部类中的构造函数没有被调用,因此该函数不会绑定到eventhandler。我修复了它,添加了这个

代码语言:javascript
复制
dependencies[i].PropertyChanged += dependencies[i].RuleDependency_PropertyChanged;

当使用对象时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40278776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档