2011-01-17 8 views
1

나는 dataContext를 정의한 WPF로 된 윈도우를 가지고있다. 저장 단추를 클릭하면 저장 단추가 생깁니다. 업데이트 된 datacontext를 컬렉션에 추가하고 현재 창에 대한 datacontext 개체의 새 인스턴스를 정의합니다. 이제 새 DataContext 창을 어떻게 업데이트합니까? WPF에서 윈도우의 DataContext 리 바인딩

나는이

this.DataContext=insClassA;//Initially it is set 

    //Later on some event i'm updating the NewAttributeProperty 
    insClassA.NewAttribute = new NewAttribute(); 

을 시도하지만 UIFields은 여전히 ​​이전 인스턴스의 값/

감사를 누르고 있습니다.

+0

DataContext의 새 인스턴스를 만드는 특별한 이유가 있습니까? – Lazarus

+0

몇 가지 코드를 게시 할 수 있습니까? 어떻게 DataContext를 처음부터 설정합니까? – devuxer

+0

특정 정보를 캡처하여 주 윈도우의 datacontext에 추가하는 usercontrol이 있습니다. 그래서 클릭하면 mainwindow의 datacontext에서 정보를 업데이트하고 사용자가 usercontrol에 새 정보를 입력 할 수있게합니다. (사용자 정의 컨트롤은 팝업으로 제공됩니다) – Novice

답변

1

이 작업은 자동으로 수행됩니다. 개체의 새 인스턴스를 사용자의 DataContext 속성으로 설정하면 바인딩 된 모든 항목이 자동으로 새로 고쳐집니다.

UPDATE : 당신의 편집을 바탕으로

, 당신의 객체가 INotifyPropertyChanged를 구현하지하고 DependencyObject에 또는 실패한 속성은 DependencyProperty를하지하지 표준시 않는 것으로 가정한다. 문제는 DataContext에 관한 것이 아닙니다.

개체는 속성이 변경되었음을 환경에 알려야합니다. Normaly, BO는 PropertyChanged 이벤트로이 작업을 수행합니다. WPF DataBinding 및 INotifyPropertyChanged를 검색하면이 항목에 대한 많은 정보를 찾을 수 있습니다.

+0

감사합니다 ... 작동합니다 나는 그것을 기대했다. – Novice

관련 문제