2011-03-09 6 views
0

I 뭔가에서 계산 된 속성을 가진 자체 UserControl을 만들었습니다. 결과를 호출 할 수 있습니다. 이제이 컨트롤을 Grid에 배치하고 몇 가지 비즈니스 객체를 갖기를 원합니다. 이 개체의 속성을 내 속성 Result에 바인딩하고 싶습니다. 그래서 나는이 같은합니다WPF 자신의 속성에 바인딩

<MyControl Result="{Binding PropertyInObject}" ... 

물론의 DataContext를 설정하고 노력하고 있습니다 (속성 WPF) 다른 속성의 결합. 그러나 이것은 하나가 아닙니다. 먼저 비 종속성 속성에 바인딩 할 수 없다는 예외가 발생합니다. 그래서 나는 하나로 등록한다. 이제는 예외는 아니지만 일을 마칠 수는 없습니다. 그래서 내가 뭘하니?

답변

0

INotifyPropertyChanged 인터페이스를 구현하고 계산을 한 후에 PropertyChanged 이벤트를 발생시킵니다. 그런 다음 컨트롤에 기본적으로 컨트롤 (twoway)을 바인딩합니다.

나는 연구를 위해 당신에게이 책을 추천 할 것입니다 : Programming WPF.

1
  1. 당신은 종속성 속성으로 당신의 UserControl에 결과 속성을해야 할 것이다. 이 방법으로 모든 값을이 속성에 바인딩 할 수 있습니다. 다음은 사용자 정의를 구현하는 예제입니다. Dependency Prooperty
  2. 비즈니스 오브젝트에서 결과 오브젝트에 비즈니스 오브젝트의 변경 사항을 알리려면 INotifyPropertyChanged를 구현해야합니다. 다음은 INotifyPropertyChanged를 구현하는 예제입니다. PropertyChanged event
관련 문제