그간 몇몇 업체들에 실버라이트 교육을 다니면서 쌓아두었던 Hands On Lab 자료를 방출합니다. 사실 네이버 실버라이트 카페에는 이미 자료로 올라와 있는 상태인데, 정작 제 블로그에는 안올렸더군요.^^

핸즈온랩은 아주 기초적인 부분을 하나하나 설명하는게 아니라 그냥 순서대로 따라하면서 익힐 수 있도록 준비했어요. 실전은 감이 중요하달까요? 대략 아래의 내용이 준비되어 있고 계속 추가할 예정(어디까지나 예정 ㅋㅋ). 잘게 쪼갠건 물론 포스팅 개수를 늘리기 위해서아주 짧은 시간 동안 하나씩 클리어하는 기분을 느껴보시라는 배려에요(…).

번호가 안정해진 건 언제 할지 모른다는 얘기. 암튼 계속 연재할 수 있도록 부담을 팍팍 밀어주세요.^^

Posted by gongdo

Submit comment.

  1. Favicon of http://crynut84.tistory.com BlogIcon 맨날맑음 2011.01.11 17:10  comment URL  Edit/Remove  Submit comment.

    •### DataBinding ㅠㅠ

RenderTransform은 모든 UIElement가 가지고 있는 속성으로 해당 오브젝트의 레이아웃(위치, 크기 등의 속성)이 확정된 이후 그 상태에서 확대, 기울기, 회전, 이동 등의 추가적인 변형(transform)을 설정해요. 좀 더 구체적으로 말하자면, 실버라이트 렌더링 엔진은 어떤 UIElement를 화면에 렌더링 할 때 먼저 모든 오브젝트의 레이아웃을 정리하고 그 후 각 오브젝트별로 RenderTransform을 적용하여 최종적으로 화면에 보여주죠.
RenderTransform속성을 수정해도 레이아웃에 영향을 주지 않아서 비용이 많이 들어가는 레이아웃 정리 작업을 수행하지 않으므로 특히 애니메이션 등의 고속 처리에 매우 유용해요.

Posted by gongdo

Submit comment.

몇몇 이벤트는 이벤트가 발생한 자식에서 부모 방향으로 VisualTree를 타고 올라가는 성격을 가지고 있죠. 대표적으로 MouseLeftButtonDown과 같은 이벤트인데요, 이런 이벤트를 '버블링'된다 라고 말해요. 마치 버블을 타고 올라가는 것 처럼 말이죠.

바로 이렇게!

여튼 백문이 불여일타! HOL을 보고 직접 느껴보세요.

Posted by gongdo

Submit comment.

  1. 네오군 2009.04.25 19:56  comment URL  Edit/Remove  Submit comment.

    뒤늦게 좋은강좌 잘 보고 있습니다.

    그런데 약간 오타가 있는거 같아서 알려드립니다.

    public Page()
    {
    InitializeComponent();

    // 이벤트 핸들러 등록
    this.MouseLeftButtonDown += new MouseButtonEventHandler(MouseButtonDownTracer);
    LayoutRoot.MouseLeftButtonDown += new MouseButtonEventHandler(MouseButtonDownTracer);
    SubPanel.MouseLeftButtonDown += new MouseButtonEventHandler(MouseButtonDownTracer);
    TestEllipse1.MouseLeftButtonDown += new MouseButtonEventHandler(MouseButtonDownTracer);
    TestEllipse2.MouseLeftButtonDown += new MouseButtonEventHandler(MouseButtonDownTracer);
    }

    void MouseTracer(object sender, MouseButtonEventArgs e)
    {
    // 마우스 이벤트를 표시하기 위해 출력
    Trace((sender as FrameworkElement).Name);
    }

    여기서 이벤트 핸들러 이름이 MouseButtonDownTracer가 되어야 하는데 MouseTracer로 되어 있습니다... 수정 부탁드립니다.

후우.. 오랫만이네요. 늘 그렇듯이 바쁘죠. 바빠.
아주 짧은 HOL이에요. VisualTree에 대한 간략한 설명과 함께 VisualTreeHelper를 설명하고 있죠.


Posted by gongdo

Submit comment.

  1. Favicon of http://blog.naver.com/starcman79 BlogIcon 명군 2009.02.25 17:04  comment URL  Edit/Remove  Submit comment.

    바쁘신 와중에도 HOL 쓰시느라 고생이 많으세요.^^

    UIElement의 HitTest가 VisualTreeHelper로 넘어갔죠.
    2.0 정식에서 HitTest 처리할때 유용하더라구요.
    e.g. VisualTreeHelper.FindElementsInHostCoordinates(Point or Rect, UIElement)

    요부분도 추가하면 좋을 것 같아요 ^^

사실 실버라이트로 할 수 있는 가장 효과적인 애플리케이션은 미디어 플레이어죠. 미디어 플레이어를 만들기 전에 먼저 미디어 파일에 접근하고 재생하며 정보를 얻는 기능을 제공하는 MediaElement에 대해 알아보는 핸즈온랩이에요.


미디어 플레이어 만들 때 동영상 올리기 힘들죠?
Silverlight Streaming을 써보세요. 가장 중요한 건 무료라는거~~
http://gongdosoft.com/374 여기 참고.
Posted by gongdo

Submit comment.

이제는 너무 많이 봐서 지겨울 수도 있지만, 역시 시작이 반이죠. Visual Studio를 설치하고 실버라이트 개발 환경을 갖췄다면 그냥 따라하면서 시작하세요. 개발 환경에 익숙치 않다면 의문이 많이 생기겠지만 지금은 우선 따라하는게 중요해요. 글쎄, 일단 해보시라니까요? :D


Posted by gongdo

Submit comment.

핸즈온랩의 두 번째 시간인데요, 이 실습을 하기전에 먼저 Expression Blend를 열어서 그냥 눈에 익을 때까지 막 만져보세요. 정확히 뭐가 어떻게 돌아가는지 어떤 패널과 어떤 탭이 어떤 역할을 하는지 몰라도 돼요. 우선은 그냥 보고 느끼는거죠. 그리고 나서 이 실습을 진행하는 게 효과적일거에요.


Posted by gongdo

Submit comment.

사실 이 부분은 C#을 해보셨다면 아주 쉽게 넘어갈 수 있어요. 간단하게 어떤 오브젝트에 대해 이벤트 핸들러를 붙여 코드에서 제어하는 방법을 소개하고 있어요. 실버라이트에서 이벤트 핸들러를 선언하고 연결하는 방법은 크게 세 가지죠. 한번 확인해 보세요. :D


Posted by gongdo

Submit comment.

  1. Favicon of http://hyok.kr BlogIcon 2009.02.10 18:01  comment URL  Edit/Remove  Submit comment.

    예고에는 #4로 되어있던데, 다른 것인가요?