2016-10-27 38 views
0

我有一个类RuleDependency和两个属性IsNullValueTypeEnabled。 我们为我们的用户界面使用silverlight,我希望具有以下功能。 当IsNull属性发生变化时我希望提高第二个属性PropertyChanged事件:ValueTypeEnabled。请注意,这是一个部分类,作为来自web服务的类的扩展,并且我只在参考中有IsNullProperty,所以我不能在IsNull Property的设置器上为我的ValueTypeEnabled提供RaisePropertyChanged。 我也做了以下内容:问题引发使用PropertyChanged委托多个PropertyChanged事件

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财产。我可能在解释我在这里所做的一切时犯了一些错误,但这对我来说是新的,所以请和我一起袒护。

任何帮助将被折衷。

回答

0

问题是该分部类中的构造函数未被调用,所以函数不会绑定到事件处理程序。我对此加以修正

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

使用对象时。

相关问题