2011-10-25 7 views
3

"RFPGegevens"사용자 지정 WPF 속성 클래스가 있습니다.사용자 지정 속성 클래스 WPF 바인딩

public class RFPGegevens 
{ 
    private string _klant; 
    public String Klant 
    { 
     get { return _klant; } 
     set { _klant = value; } 
    } 
} 

내 ViewModel에서 RFPGegevens

속성이 있습니다.
 private RFPGegevens _rfpGegevens; 

    public RFPGegevens RfpGegevens 
    { 
     get 
     { 
      if (_rfpGegevens == null) 
       _rfpGegevens = new RFPGegevens(); 
      return _rfpGegevens; 
     } 
     set 
     { 
      _rfpGegevens = value; 
      base.RaisePropertyChangedEvent("RfpGegevens"); 
     } 
    } 

이 값을 디버깅하면 올바르게 채워집니다.

내보기에서 "RFPGegevens"속성을 내 Grid xxxx

<Grid DataContext="{Binding RfpGegevens}"> 

의 datacontext에 바인딩하고 "Klant"속성 필드가 채워진 경우에도 여전히 디버깅합니다.

enter image description here

그러나 내 텍스트 상자보기에서이 속성을 바인딩 할 때 여전히 비어 있습니다.

<TextBox Text="{Binding Klant, Mode=TwoWay}"/> 

또한 시도했지만 nothings 작동하는 것 :

<TextBox Text="{Binding RFPGegevens.Klant, Mode=TwoWay}"/> 

내가 뭘 잘못하고 있는지 모르겠다.
미리 감사드립니다;)

+0

어디서 get-accessor를 디버그 했습니까? TextBox-Binding에 대해 WPF에서 호출한다는 보장이 있습니까? VS에서 출력 창은 바인딩에 대해 실행할 때 무엇을 말합니까? –

+0

windows datacontext 바인딩을 올바르게 설정 했습니까? – jrb

+0

ViewModel이 INotifyPropertyChanged를 구현합니까? base.RaisePropertyChanged를 호출하는 것을 볼 수 있습니다. – BigL

답변

1

당신은 또한 다음과 같이 사용자 정의 클래스의에서 INotifyPropertyChanged 인터페이스를 구현해야 할 두 가지

public class RFPGegevens 
{ 
    private string _klant; 
    public String Klant 
    { 
     get { return _klant; } 
     set { 
       _klant = value; 
       //Raise the property changed event here 
      } 
    } 
} 
+0

불행히도 문제를 해결하지 못했습니다. – jefsmi

1

<TextBox Text="{Binding Klant, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>

으로 시도 속성의 set 접근 자에서 propertychanged 이벤트를 발생시킵니다.

0

INotifyPropertyChanged에서 상속을 추가하는 것을 잊었습니다

관련 문제