2016-10-27 73 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; 

使用對象時。

相關問題