기초 메모지

WPF - 데이터 바인딩(Data Binding) 본문

Frameworks, Platforms/WPF

WPF - 데이터 바인딩(Data Binding)

라큐브 2022. 7. 4. 13:28

데이터 바인딩(DataBinding)?

- "View(MainWindow)의 컨트롤 또는 엘리먼트를 데이터(속성=Property)에 연결시키는 기술" 입니다.

-  MVVM(Model-View-ViewModel) 디자인패턴을 적용하기위해 사용합니다.

바인딩 타겟, 소스(Binding Target, Source)? 

- Target : View.Control(컨트롤)

- Source : Object.Property(프로퍼티)

 

WPF DataBinding

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