[C#] WPF - Data Binding
Updated:

- UI와 Data를 동기화시켜주는 기술
- 앱이 UI를 표현하고 Data와 상호작용하는 것을 단순화
- 컨트롤(Control)의 Property와 내가 지정한 객체의 Property를 연결 (Target ↔ Source)
- Bingding을 위해 BindingContext 속성이 반드시 소스객체를 참조
- XAML에서 Binding 마크업을 사용해 설정

- Binding 마크업은 Path, Mode 속성이 있음
- Path : 바인딩하고자 하는 원본객체의 속성명
- Mode : 속성 값의 변화가 영향을 줄 방향
OneWay소스에서 타깃으로만 변경사항이 반영 (Default)TwoWay양방향으로 적용. 소스와 타깃객체가 항상 동기화OnwWayToSource타깃에서 소스로만 변경사항이 반영. 주로, 읽기전용의 바인딩 속성에 사용.OneTime생성자에서 초기화될 때, 한 번만 소스에서 타깃으로 반영
- PropertyChanged를 이용해 속성 변경에 이벤트 발생
코드 예제
<StackPanel>
<!-- Textbox is the target-->
<TextBox Name="MyTextBox" Width="100" Margin="50" Text="{Binding ElementName=MySlider, Path=Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<!-- Slider is binding source-->
<Slider IsSnapToTickEnabled="True" Name="MySlider" Minimum="0" Maximum="100"></Slider>
</StackPanel>
- 텍스트와 슬라이드 동기화
- UpdateSourceTrigger 속성을 이용해 값 변경에 이벤트 발생
ref :
Data binding overview in WPF
Xamarin.Forms 데이터 바인딩 1/3
Leave a comment