PROGRAMMING WORKSHOP

Skip Navigation Links. Skip Navigation Links.

.NetFrameWork | WPF - Data Binding_1



Win32 Window 폼에서도 Data의 Binding에 대하여 장황하게 이야기했었다
WPF에서는 이 Binding이라는 것이 거의 핵심기술이라고 해도 좋다
기존의 Window에서의 Binding과는 차원이 다른 바인딩이다
컨트롤 상호간의 데이타를 바인딩하기도 하고
XML데이타와 바인딩하기도 하고
ADO.Net으로 갖여 오는 DB정보와도 바인딩하고
사용자정의 개체와도 바인딩하고
Binding이라는 것을 활용하지 못하면 WPF는 허당이다

위의 학습도구를 실행하면 아래의 그림과 같이


콤보상자, 스라이드 콘트롤이 있고 이것의 각각의 목록을 바꾸고
스라이드를 움직이면 사각형이 회전하고,텍스트값이 바뀌고
바탕색이 바뀐다

이것을 VBA나 기존의 Window폼에서 하려면
VB코딩을 하여야 한다
그러나 WPF에서는 XAML문에서 Binding개체를 활용하면
간단하게 해결된다

<!-- 아래와 같이 Slide개체를 생성하고 --> <Slider Name="slider" Margin="4" Interval="1" TickFrequency="1" IsSnapToTickEnabled="True" Minimum="0" Maximum="360" Orientation="Vertical"/> <!-- 위의 Slide개체의 값을 Binding개체를 만들어서 Rectangle(사각형)개체의 RenderTransform 개체의 RotateTransform개체의 Angle속성를 연결해 놓는 것--> <Rectangle Width="70" Height="70" Fill="Red"> <Rectangle.RenderTransform> <RotateTransform Angle="{Binding ElementName=slider, Path=Value}" /> </Rectangle.RenderTransform> </Rectangle>

위의 내용을 그림으로 표현하면 아래와 같다



정보를 전달받는 쪽은 Binging Target
정보를 제공하는 쪽은 Binding Source
중간 연결역할을 해주는 것은 Binding Object
물론 여기서는 한방향(One Way)이지만 쌍방향(Two Way) 바인딩이
되는 경우도 많게 된다
항상 엑셀 VBA를 생각하시면서 보시는 것이 좋다
WPF니 Window니 하는 것을 주제로 삼아서 자꾸 페이지를
만드는 것은 이런 것을 통하여 더더욱 엑셀이 얼마나
좋은 프로그램인지 인식하고 좀더 스스로가 대단한 것을
하고 있다는 것을 느끼시고 스스로의 가치를 높이라는
의도가 숨어 있는 것이다
새로운 기술이 어떻게 전개되고 있는지
다른 프로그램들이 구현못하는 것, 엑셀이 구현 못하는 것
이런 것을 잘 이해하고 알고 있어야 경쟁력이 높아지는 것이다
VBA를 한다고 다같은 VBA프로그래머는 아닌 것이다

항상 새로운 것을 접하면서 새로운 영감과 자극을 받는 것이
얼마나 삶의 활력소가 된다는 것을 아시기 바란다

위에서 BindingSouce는 콘트롤이 될수도 있고
XML화일이 될수도 있고
사용자정의개체가 될수도 있고
ADO로 끌어온 DB테이블이 될수도 있고..
다양하게 전개되는 것이다
아하..정보를 받아다가 다각적인 시각적 표현을 할 수 있구나..
예를 들어서 어떤 자동차의 가격이 얼마 이상이면
표현하는 도형이 회전을 한다거나..색상이 바뀌거나..

***[LOG-IN]***