태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
   情  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
[Silverlight] Element to Element Binding

Silverlight 3에서 새로 추가된 기능 중 하나가 바로 이 Element to Element Bidning입니다. 이 기능은 특정 Element의 속성 값을 다른 Element에서 Binding을 통해 사용할 수 있도록 하는 기능입니다. 다음의 예제를 본다면 쉽게 이해하실 수 있습니다.

예제

위의 예제를 보시면 CheckBox Control이 TextBox Control을 활성화 시키고, TextBox Control의 내용이 TextBlock의 크기나 색을 변화시키는 것을 확인하실 수 있습니다.

위 예제는 C#코드를 이용하지 않고 모두 Element To Element Binding를 이용한 예제입니다.이 기능을 CodeBehind에서 C#으로 구현하기 위해서는 보통 컨트롤별로 Event를 생성하고 수십줄의 코드를 작성해야하지만 Element To Element Binding를 이용하면 아래 소스 처럼 간편하게 직관적으로 코드를 작성하실 수 있습니다.

소스코드

<StackPanel x:Name="LayoutRoot">
    <StackPanel Orientation="Horizontal">
        <CheckBox x:Name="chkEnable" Content="입력하기" />
        <TextBlock Text="    텍스트 크기 입력 : " FontWeight="Bold" />
        <TextBox x:Name="tbxAmount" IsEnabled="{Binding IsChecked, ElementName=chkEnable}" Width="100" />
        <TextBlock Text="    텍스트 색 입력 : " FontWeight="Bold" />
        <TextBox x:Name="tbxColor" IsEnabled="{Binding IsChecked, ElementName=chkEnable} Width="100" />
    </StackPanel>
    <Border BorderBrush="Silver" BorderThickness="3">
        <TextBlock FontSize="{Binding Text, ElementName=tbxAmount}" Foreground="{Binding Text, ElementName=tbxColor}" Text="텍스트 크기" />
    </Border>
</StackPanel>

위의 코드에서 TextBox와 TextBlock의 각 부분에 존재하는 모든 Binding 구문이 Element To Element Binding을 사용하고 있습니다. 소스처럼 {Binding Property명, ElementName=Element명}으로 간단하게 Element To Element Binding를 사용하실 수 있습니다.

이 기능은 DataGrid에서 DataTemplate내부의 컨트롤이 부모 DataGrid를 참조할 수 없다는 제약이 있습니다. 이 문제는 공개적으로 Issue이며 언젠가는 수정되리라 믿고 있습니다...

Tag :

name    password    homepage
 hidden


 Category
분류 전체보기 (95)
Netwrok & Security (6)
Web Development (61)
Database (5)
Framework (6)
Others (17)
About (0)
 TAGS
exception ie6 자바스크립트 버그 SourceSafe2005 php 오라클 구조 LiveMail XML id name 차이 RFC 4180 UpdateProgress 리눅스 오라클 영국 홈스테이 WCF 영국 학원 ebnf web tier ATRIX mantis bug tracker maxRecievedMessageSize MS SQL Server 특수문자 ASP.NET ASP DTD 영국 인턴쉽 It's me class id 차이 data tier Blog API ajax PHP 강좌 linux c#.net SourceSafe Internet mantis smarty 자바스크립트 application error #401 Silverlight
 Calendar
«   2018/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
 Visitor Statistics
Total : 260,884
Today : 33
Yesterday : 40
rss
 

티스토리 툴바