본문 바로가기
스완남 - IT 이야기

[C# wpf]스완남~~ 코딩,어떻게 해요??

by 골디오션스토리 2019. 8. 4.
728x90
반응형

스완남~ 코딩어떻게 해요??  c# wpf편–


data binding

대부분의 응용 프로그램의 목적은 사용자에게 데이터를 표시하고 해당 데이터를 편집할 수 있게 해주는 것입니다. 어플리케이션 개발자로서 우리의 일은 다양한 형식으로 표시된 계층적 형식의 데이터 혹은 관계형 형식의 데이터를 가져오는 것입니다. 데이터의 출처 또는 형식에 상관없이 데이터 표시, 변환, 정렬, 필터링, 그룹화, 데이터 필터링, 그것을 다른 부분으로, 그리고 종종, 그것을 편집하는 것보다 데이터를 되돌려 놓을 수 있는 엔진이 없다면 데이터 소스와 컨트롤 사이에 많은 코드를 작성하게 될 것입니다. 그러므로 WPF의 데이터 바인딩 엔진을 사용하면 더 적은 코드로 더 많은 기능을 사용할 수 있습니다.

 

데이터 바인딩의 동작 원리

데이터 바인딩은 UI요소와 데이터들을 연결하는 것을 말합니다. 이를 구현하는 것을 바인딩 클래스이고, SYSTEM. Windows. Data 네임 스페이스에서 찾을 수 있습니다.


바인딩 엔진은 바인딩 원본과 바인딩 대상의 사이에서 서로의 값을 설정하거나 변화를 감시하는 역할을 합니다. 바인딩 원본은 어떤 종류의 CLR(common language runtime)공용 언어 런타임 개체도 사용할 수 있으며 바인딩 원본의 바인딩 할 속성도 제한이 없습니다. 바인딩 대상은 반드시 바인딩 대상속성에서 파생된 클래스 이어야 하고 바인딩 대상 속성은 반드시 Dependency Property이어야 합니다. 바인딩 방향은 구성에 따라 단방향, 양방향으로 연결할 수 있습니다.

 

간단한 바인딩 예제 하나


è  실행 결과

- 텍스트 박스에 데이터를 입력하면 아래의 라벨에 텍스트 박스의 값이 동일하게 보여지는 간단한 바인딩 예제입니다.


Binding mode

1.     One Way 방법

간단한 One Way 바인딩 예제 하나


è  실행 결과

- 라벨의 배경색과 컨텐츠가 아래의 콤보 박스에서 선택 된 값과 동일하게 보여지는 One Way 바인딩 방법으로, 콤보 박스의 값이 변할 때마다 라벨의 값도 동일하게 변경되는 형태입니다.


2.     Two Way 방법

간단한 Two Way 바인딩 예제 하나


è  실행 결과

- 아래의 리스트 뷰에서 선택된 항목이 텍스트 박스에 표시될 뿐만 아니라, 텍스트 박스에서 수정된 값이 아래의 리스트 뷰 항목에도 반영되는 Two Way 바인딩 모드입니다.

바인딩 모드

One way: 소스 데이터가 변경되면 대상이 업데이트 됩니다.

Two way: 소스 또는 대상 데이터가 변경되면 다른 한쪽이 업데이트 됩니다.

One Time: 소스 데이터를 대상에 반영한 후 업데이트 하지 않습니다.

 


728x90
반응형

댓글