반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

 

1. 데이터 바인딩이란?

      - 데이터 바인딩은 데이터의 추출, 표현과 관리를 용이하게 하는 기능 

      - 데이터 바인딩을 사용하지 않으면 모든 기능(추출,표현,관리)을 하드 코딩해야 함

2. OneWay 방법

     - 아래의 텍스트 박스 2개를 넣고, 위의 텍스트 박스를 바인딩을 하게 되면 위의 텍스트 박스의 데이터를 가져올 수 있다.

     - 위의 텍스트 박스를 바꾸면 아래의 텍스트 박스도 바뀜

     - 하지만, default가 OneWay 방법이라 위의 텍스트를 바꿀 때만 변경가능(아래의 텍스트를 바꾸면 변경이 안된다.)

 

<Window x:Class="WpfApp5.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:WpfApp5"

mc:Ignorable="d"

Title="MainWindow" Height="450" Width="800">

<StackPanel>

<TextBox x:Name="txtbox"

Text="this is a textbox"/>

<TextBox Text="{Binding ElementName=txtbox,

Path=Text"/>

</StackPanel>

</Window>

 

3. TwoWay 방법

     - TwoWay방법은 아래의 텍스트를 바꾸면 같이 변경이 된다.

 

<Window x:Class="WpfApp5.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:WpfApp5"

mc:Ignorable="d"

Title="MainWindow" Height="450" Width="800">

<StackPanel>

<TextBox x:Name="txtbox"

Text="this is a textbox"/>

<TextBox Text="{Binding ElementName=txtbox,

Path=Text,

Mode=TwoWay,

UpdateSourceTrigger=PropertyChanged}"/>

</StackPanel>

</Window>

 

 

4. 바인딩 모드

One Way : 소스 데이터가 변경되면 타겟이 업데이트

Two Way : 소스 또는 타겟 데이터가 변경되면 다른 한쪽이 업데이트

OneTime : 소스 데이터를 타겟에 반영 후 업데이트 하지 않음

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기