2016-11-11 2 views
1

내 ViewModel을 가지고 있고 ViewModel이 모든 속성을 가져 오는 속성을 가지고있는 곳에서이 코드를 사용합니다.C# 트리거 부모로부터 자식으로 RaisePropertyChanged?

이 거친 의사 코드입니다 :

public class MyClassViewModel : INotifyPropertyChanged 
{ 

    public MyClassViewModel() 
    { 

    } 

    public BaseClass myClassBase { get ; set; } 

    public string Title 
    { 
     get 
     { 
      return myClassBase.Title; 
     } 
     set 
     { 
      myClassBase.Title = value; 
      RaisePropertyChanged("Title"); 
     } 
    } 

    public string Description 
    { 
     get 
     { 
      return myClassBase.Description; 
     } 
     set 
     { 
      myClassBase.Description = value; 
      RaisePropertyChanged("Description"); 
     } 
    } 
} 

그리고 이것은 BaseClass로이다 :

public class BaseClass 
{ 
    public BaseClass() 
    { 

    } 

    public string Title {get;set;} 
    public string Description {get;set;} 
} 

CheckItemViewModel이 UI에 바인더 제본 하나입니다. 그래서 만약 내가 뭔가를 할 MyClassViewModel. 제목 = "테스트";은 UI를 제대로 새로 고칩니다.

그러나 구체적인 이유 (자바 스크립트 - Chakra 인터페이스)로 MyClassViewModel.myClassBase.Title = "테스트"과 같은 작업을 수행해야합니다. 이 문제는 RaisePropertyChanged가 없으므로 UI가 더 이상 새로 고치지 않는다는 점에서 문제가됩니다.

BaseClass 내부에서 RaisePropertyChanged를 구현 한 경우에도 여전히 작동하지 않습니다. BaseClass의 PropertyChanged는 항상 null이기 때문에 작동하지 않습니다.

MyClassViewModel은 UI에 바인딩 된 것이기 때문에 의심됩니다. BaseClass의 PropertyChanged는 결코 바인드되지 않습니다.

부모의 RaisePropertyChanged를 트리거하는 방법이 있습니까?

답변

관련 문제