예제코드
Rectangle myBar2 = new Rectangle();
myBar2.Width = 100;
myBar2.Height = 100;
myBar2.SetValue(Canvas.LeftProperty, (double)100);
// 화면에 보여주기
LayoutRoot.Children.Add(myBar2);
이처럼 SetValue를 이용해서 값을 지정할 때에는 DependencyProperty를 사용해야 하는데, 여기에 사용할 수 있는 것으로 의존 프로퍼티와 어태치드 프로퍼티 두 종류가 있다.
의존 프로퍼티는 일반 프로퍼티보다 더 많은 과업(바인딩, 이벤트 호출)등을 수행하고, 아래처럼 일반 프로퍼티에 등록하여 사용한다. 보통은 이렇게 기등록되어 있는 의존 프로퍼티를 사용하는 경우가 더 많음.
FontSizeProperty = DependencyProperty.Register("FontSize", typeof(double), typeof(Control));
반면, 어태치드 프로퍼티는 현재 오브젝트가 가지고 있지 않은 속성에 대해서 값을 가질 필요가 있을 때 사용한다. 오브젝트 위치의 지정이 그러한데, 실버라이트에서는 X,Y 등의 속성이 오브젝트에 없으므로 상위 오브젝트인 Canvas의 Left 속성을 이용하게 된다.
예제 코드에서는 myBar2가 상위 오브젝트인 Canvas.Left 프로퍼티에 대한 어태치드 프로퍼티, Canvas.LeftProperty의 값을 가지게 되는 것이다.
주의
오브젝트의 위치 좌표를 줄 때에는 오브젝트가 Grid가 아닌 Canvas에 속해있는지 여부를 확인할것.
'Silverlight > Silverlight 2' 카테고리의 다른 글
| 키보드에서 눌려진 키 이름 알아내기 (0) | 2009/02/04 |
|---|---|
| 위치 지정하기, 어태치드 프로퍼티(Attached Property)의 이해 (2) | 2009/01/07 |
| 색상 적용하기 기초, Color와 Brush(SolidColorBrush) 사용 (0) | 2009/01/07 |
| 교장선생님이 만드신 벽에 공이 부딫히는 애니메이션 (1) | 2008/11/30 |
| 마우스를 네모난 곳에 올려놓았을 때, 그림자가 이동 (0) | 2008/11/30 |
| 실버라이트를 위한 Sprite 클래스 (0) | 2008/07/20 |




