본문 바로가기
프로그래밍/C Sharp

[ WPF ] 데이터 바인딩(Binding) 사용하기

by jeong-f 2022. 11. 4.
반응형

데이터 바인딩이란?

앱 UI와 데이터를 연결해주는 역할

사용 용도

  • UI에 데이터의 값을 표시
  • 데이터의 값 변화를 UI에 보이게 할 때

사용법

1
Value="{Binding ElementName=textbox, Path=Text, Mode=Default}
cs

바인딩 방향

소스 : 데이터
타깃 : 화면에 보이는 UI 컨트롤

  • OneWay : 소스의 변화가 타깃에 반영 ( 소스 → 타깃 )
  • TwoWay :  소스와 타깃이 동시에 변화 (소스 ↔ 타깃 )
  • OneTime : 타깃의 값이 한 번만 소스 값으로 변화 ( 소스 → 타깃 (한 번만))
  • OneWayToSource : 소스의 값이 타깃의 값에 따라 변화 (소스 ← 타깃)

테스트를 위한 화면 구성

소스 코드

1
2
3
4
5
6
7
8
9
10
11
12
<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="235" Width="254">
    <Grid>
        <TextBox Name="textbox" Text="40" VerticalAlignment="Top"/>
        <ScrollBar Name="scrollbar" Margin="0,77,0,66" Orientation="Horizontal" 
                   Maximum="100" LargeChange="10" SmallChange="1" 
                   Value="{Binding ElementName=textbox, Path=Text, Mode=Default}"/>
    </Grid>
</Window>
 
cs

바인딩에 따른 화면 변화

  • Default  : [ O ] 초기값 '40' [ O ] 소스 → 타깃 [ O ] 타겟 → 소스

  • OneWay  :  [O] 초기값 '40' [ O ] 소스 → 타깃  [ X ] 타겟 → 소스

 

  • TwoWay :  [ O ] 초기값 '40' [ O ] 소스 → 타깃 [ O ] 타깃 → 소스

  • OneTime :  [ O ] 초기값 '40' [ X ] 소스 → 타겟 [ X ] 타겟 → 소스

  • OneWayToSource : [  X ] 초기값'40' [ X] 소스 → 타겟 [ O ] 타겟 → 소스

 


반응형

댓글