본문 바로가기

개인공부/WPF

[WPF] 데이터 바인딩(Data Binding)

■ 데이터 바인딩(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