Microsoft MVP성태의 닷넷 이야기
질문드립니다. [링크 복사], [링크+제목 복사]
조회: 10865
글쓴 사람
Until
홈페이지
첨부 파일
 

한동안 winform만 하다가 wpf를 이제 막 시작하고 있습니다.

 

wpf에서 궁금하면서 자료를 봐도 이해되지 않는 부분이 있는데

 

DependencyProperty를 사용해서 속성의 값 변경을 알림받거나 xaml상에서 변경값을 바로 적용할 수 있고

 

INotifyPropertyChanged를 구현해서 사용해도 마찬가지로 속성의 값이 변경되었을경우 xaml상에서 바로 알 수 있는걸로 알고 있습니다.

 

그렇다면 위 두가지의 차이점은 무엇이고 어떤 경우에 각각 쓰이는지 설명부탁드립니다.

 

또한 일반 프로퍼티도 xaml상에 바인딩이 가능한걸로 알고 있는데 이 또한 바인딩을 할때 왜 굳이

DependencyProperty나 INotifyPropertyChanged를 통해서 바인딩을 하는지 궁금합니다.

답변 부탁드립니다.








[최초 등록일: ]
[최종 수정일: 2/28/2014]


비밀번호

댓글 작성자
 



2014-03-01 03시04분
아무래도 DependencyProperty는 UI를 표현하는 컨트롤이 구현하기에 적합한 속성입니다. 그것 자체가 WPF랑 너무 밀접하게 연관되어 있기 때문에 일반적인 데이터 컨테이너에 구현하기에는 무리가 있습니다. 반면, INotifyPropertyChanged는 UI를 갖지 않는 클래스이거나 code-behind 클래스에 담고 있는 속성에 가볍게 구현하는 용도로 사용됩니다.

좀더 자세한 사항은 다음의 글을 참고하세요.

INotifyPropertyChanged vs. DependencyProperty in ViewModel
; http://stackoverflow.com/questions/291518/inotifypropertychanged-vs-dependencyproperty-in-viewmodel

그리고, 일반 프로퍼티가 xaml에 바인딩은 되겠지만 변화에 대한 알림은 안됩니다.

정성태

... 31  32  33  34  35  36  37  38  39  [40]  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4850heyh...7/3/201710539성태님 밑에 질문드렸던 오류입니다. [1]파일 다운로드1
4849포플러7/2/201729181C#으로 만든 프로그램이 어느 순간 속도가 느려지거나 멈춤현상이 있습니다. [4]
4848윤진영7/2/201712183Microsoft Visual C++ 6.0 무설치 관련 [1]
4847heyh...6/30/201710196아무리 고민해도 답이 안나와서.. 질문 드립니다 [1]
4846heyh...6/28/201710223Clickonce에서 Clickonce로 변수 전달 [1]
4845heyh...6/26/20179895vb.net 에서 manifest 제거 방법 [1]파일 다운로드1
4844san6/21/20179323part3 pdf파일로 보는데 눈아퍼요.... 활자로 보고싶어요 [2]
4843윤현수6/20/20179546socket통신에 관한 질문입니다. [1]
4842오세운6/7/201710227로그인폼 다시 질문드려요. [1]
4841popo6/7/201710007궁금한사항이 있어 질문 드립니다. [1]
4840윤현수6/5/201710007datagridview에 바인딩시킨 dataset.table에 관련된 질문입니다. [2]파일 다운로드1
4839오세운6/2/201710927로그인폼 만들기 [1]
4838후배5/29/201711634PDF Reader 라이브러리.. [3]
4837KDP5/29/201711133c++ to C# 컨버팅 문의 [2]
4836popo5/26/201714280리플렉션 성능 관련 질문 드립니다. [2]
4835guest5/25/201710036wpf Canvas 질문드립니다. [1]
4834부탁드립...5/19/201710946익스체인지 서버 구동중 인증서를 받는 과정에서오류가 납니다 [1]
4833안종윤5/18/201711355winform을 Web Browser에 붙일 수 있는지요? [1]
4832guest5/17/201710823c# UDP socket예제 실행방법 [3]
4831guest5/15/201713292WPF .net 3.5에서 TextBox 한글 문제 [3]
4830초보자5/7/201718206프로그램 비정상 종료 메시지 창 없애는 방법 [4]
4829윤현수4/26/201714583System.Text.Encoding 질문 [1]
4828jaem...4/20/201710831시스템 종료시 block 함수 xp 지원가능한 방법 질문 [2]
4827ds4/13/201712594매서드 정의로 이동시 [메타데이터에서]에서 라고 나오는 것은 뭔가요? [1]
4826김솔지4/11/20179978CxImage 문자 출력 [1]
4825플메4/10/201710366덱스트 업로드 하는데 구성요소 서비스에 엑셀이 안뜨네요..ㅜㅜ [1]파일 다운로드1
... 31  32  33  34  35  36  37  38  39  [40]  41  42  43  44  45  ...