Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 리액트 리덕스
- c# delegate
- Git
- C#
- 도커 컨테이너
- 도커 레이어
- 리액트
- react
- js
- javascript
- asp.net core
- vscode extension
- Docker image
- docker container
- redux
- ASP Core
- 리액트 타입스크립트
- 도커 이미지
- 리액트 타입스크립트 적용하기
- Docker
- Asp Net Core
- docker layer
- React Redux
- 리덕스
- asp core mvc
- 도커
- asp.net core mvc
- asp core 권한
- react ts
- react typescript
Archives
- Today
- Total
기초 메모지
WPF - 데이터 바인딩(Data Binding) 본문
데이터 바인딩(DataBinding)?
- "View(MainWindow)의 컨트롤 또는 엘리먼트를 데이터(속성=Property)에 연결시키는 기술" 입니다.
- MVVM(Model-View-ViewModel) 디자인패턴을 적용하기위해 사용합니다.
바인딩 타겟, 소스(Binding Target, Source)?
- Target : View.Control(컨트롤)
- Source : Object.Property(프로퍼티)
1. 컨트롤과 데이터(속성)과 바인딩하기 위해선 View와 ViewModel과 바인딩이 되어있어야 합니다.
AppViewModel AppView = new AppViewModel();
// DataContext 속성을 이용하여 View와 ViewModel과 바인딩 합니다.
DataContext = AppView;
2. 컨트롤(Control)과 데이터(Property)를 어떤 방식으로 바인딩 할 것인지 아래 바인딩 모드 중 선택하여 연결합니다.
// XAML 파일이 손상되어 바인딩 정보가 날아가는 것을 방지하기 위해 코드 바인딩 사용
// Target : View, Source : ViewModel
Binding bind = new Binding();
bind.Source = DataContext;
// Source : ViewModel.Property
bind.Path = new PropertyPath("TitleContent");
bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
bind.Mode = BindingMode.TwoWay;
// Target : View.Control
LblTitle.SetBinding(ContentProperty, bind);
바인딩 모드(Binding Mode)
Mode | 데이터 이동 방향 |
OneWay | View(Control, Eelement) <--- View Model(Data) |
TwoWay | 양방향 |
OneWayToSource | View(Control, Eelement) ---> View Model(Data) |
반응형
'Frameworks, Platforms > WPF' 카테고리의 다른 글
WPF - 그리드 스플리터(Grid Splitter) (0) | 2023.02.27 |
---|
Comments