使用PropertyChanged委托提出多个PropertyChanged事件的问题

时间:2016-10-27 07:33:00

标签: c# silverlight properties delegates propertychanged

我有一个RuleDependency类和两个属性double tipPercent = Convert.ToDouble(Console.ReadLine()); IsNull。 我们在UI中使用silverlight,我希望拥有以下功能。 当ValueTypeEnabled属性发生更改时,我希望为第二个属性IsNull引发PropertyChanged事件。请注意,这是一个部分类,作为来自Web服务的类的扩展,我在引用中只有ValueTypeEnabled IsNull,所以我Property不能RaisePropertyChangedValueTypeEnabled的setter上。 我做了以下事情:

IsNull Property

由于未知原因,修改 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属性的事件。

1 个答案:

答案 0 :(得分:0)

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

dependencies[i].PropertyChanged += dependencies[i].RuleDependency_PropertyChanged;

使用对象时。