■ 데이터 바인딩(Data Binding)이란?
- Control 또는 Element를 Data에 연결시키는 기술이다.
■ Binding Example (Control - Control)
- 소스 객체 : 타겟 객체의 출처가 되는 객체, 원본 객체
- 타겟 객체 : 소스 객체를 목표로 묶은 객체, 원본 객체를 바라보는 객체
<Window x:Class="DataBinding_01.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:DataBinding_01"
mc:Ignorable="d"
Title="MainWindow" Height="300" Width="300">
<StackPanel VerticalAlignment="Center">
<TextBox x:Name="tbx" Text="{Binding Mode=OneWay}" Width="200" Height="20"/>
<Label x:Name="lbl" Content="{Binding Source={x:Reference tbx}, Path=Text}"
Width="200" Height="30"/>
</StackPanel>
</Window>
· "tbx"라는 이름의 TextBox, Text속성을 OneWay 모드로 binding
· "lbl"이라는 이름의 Label, Content속성을 tbx 객체의 Text속성을 참조로 binding
- TextBox ("tbx")의 Text속성 변화에 따라서 Label ("lbl")의 Content속성이 자동으로 변경됨
■ Binding Mode
- OneTime : Application이 시작되거나 DataContext 변경이 발생하는 경우, 한 번만 업데이트
- OneWay : 원본 속성(소스)이 변경되는 경우 대상 속성(타겟)이 업데이트
- OneWayToSource : 대상 속성(타겟)이 변경되는 경우 원본 속성(소스)이 업데이트
- TwoWay : 원본 속성 혹은 대상 속성이 변경되는 경우 원본 속성 혹은 대상 속성 업데이트(양방향 업데이트)
- Default : 대상 속성의 기본 Mode값을 사용
'개인공부 > WPF' 카테고리의 다른 글
[WPF] DataContext (0) | 2022.07.23 |
---|---|
[WPF] 이벤트 라우팅, 터널링(Tunneling), 버블링(Bubbling) (0) | 2022.05.29 |
[WPF] 의존 속성(DependencyProperty) (0) | 2022.05.20 |
[WPF] 멀티쓰레드(Multi Thread) (0) | 2022.05.11 |
[WPF] Hello World (0) | 2022.04.19 |