본문 바로가기
Languages/C#

Day 4: 데이터 바인딩 - One-way, Two-way, One-time 바인딩

by 반도체는 프로그래밍을 좋아해 2023. 4. 4.
728x90

 

데이터 바인딩

데이터 바인딩은 WPF에서 가장 중요하고 강력한 기능 중 하나입니다. 데이터 바인딩을 사용하면 UI 요소와 데이터 소스 간의 상호 작용이 단순화되고, 애플리케이션의 유지 보수성이 향상됩니다.

One-way 바인딩

One-way 바인딩은 데이터 소스에서 UI 요소로 값이 한 방향으로 전달되는 바인딩입니다. 데이터 소스의 값이 변경되면 UI 요소의 값도 함께 변경됩니다. UI 요소의 값이 변경되어도 데이터 소스에는 영향을 주지 않습니다.

예제

아래 예제는 Slider의 Value 속성과 TextBlock의 Text 속성을 One-way 바인딩합니다.

<StackPanel>
    <Slider Name="slider" Minimum="0" Maximum="100" Value="50" />
    <TextBlock Text="{Binding ElementName=slider, Path=Value}" />
</StackPanel>

Two-way 바인딩

Two-way 바인딩은 데이터 소스와 UI 요소 간의 양방향 바인딩입니다. 데이터 소스의 값이 변경되면 UI 요소의 값도 함께 변경됩니다. UI 요소의 값이 변경되면 데이터 소스에도 변경된 값을 전달합니다.

예제

아래 예제는 TextBox의 Text 속성과 string 변수를 Two-way 바인딩합니다.

<StackPanel>
    <TextBox Text="{Binding MyProperty, Mode=TwoWay}" />
</StackPanel>

One-time to Source 바인딩

One-time to Source 바인딩은 초기화 후 UI 요소에서 데이터 소스로 값이 한 번만 전달되는 바인딩입니다. 따라서 UI 요소의 값이 데이터 소스에 전달되고, 데이터 소스의 값이 변경되어도 UI 요소에는 영향을 주지 않습니다.

예제

아래 예제는 TextBox의 Text 속성과 string 변수를 One-time to Source 바인딩합니다.

<StackPanel>
    <TextBox Text="{Binding MyProperty, Mode=OneTimeToSource}" />
</StackPanel>

이상으로 데이터 바인딩의 세 가지 유형에 대해 알아보았습니다. 이 세 가지 유형을 적절하게 활용하면 WPF 애플리케이션을 보다 효율적이고 유연하게 만들 수 있습니다. 데이터 바인딩은 WPF의 핵심적인 기능 중 하나이며, 학습하기 어려운 부분 중 하나입니다. 하지만 이번 글을 통해 각각의 유형을 자세히 살펴보면서, WPF의 데이터 바인딩에 대한 이해를 조금 더 깊이 있게 할 수 있었기를 바랍니다.

728x90