바로 아래에 검색 팁을 포스팅해놓고 좀 뻘쭘하지만...
오늘도 검색을 게을리 했다가 당한 얘기를 좀 해야겠네요.

스토리보드와 애니메이션 개체를 동적으로 생성하여 이것을 코드만으로 제어하는 걸 근 하루째 삽푸고 있었어요.

음... 요즘 퀵스타츠나 기본 학습 포스팅이 게을러져서 아직 다루진 않았지만 어쨌든 Storyboard는 xxxAnimation 개체들을 포함하고 Storyboard.Begin을 호출하면 이 애니메이션들을 재생할 수 있지요.

여기에서 애니메이션은 대상 개체의 이름(Target Name)과 그 개체의 대상 속성(Target Property)를 설정해줘야 합니다.
예를 들면 캔버스 개체의 RotationTransform(회전 변형 속성).Angle(각도) 와 같은 것 말이죠.

그런데 대상 개체의 이름 즉, XAML에서 x:Name 으로 설정되는 속성은 코드-비하인드에서 해당개체.Name 속성으로 읽기는 가능하지만 쓰기가 불가능해요.
따라서 XAML에서 생성된 개체가 아니라 코드로 동적으로 생성한 개체 예를 들어, Canvas panel = new Canvas(); 이렇게 생성한 개체는 Name 속성이 공백으로 식별이 불가능한 상태가 되죠.

...네 이런 사실을 알아내기까지 온갖 삽을 푸면서 거의 하루가 걸렸는데 검색해보니 한방에 걸리네요.

http://silverlight.net/forums/p/1335/3133.aspx

여기에 보면 친절하게도 Microsoft의 미스터 막이 직접 답변 했는데...
'지금 당장 1.1 Alpha(나 1.0 Beta)에선 프로그래미컬하게 Name속성을 못바꿔. 일찌감치 포기하고 XamlRead.Load를 사용해서 XAML 리소스에서 읽어오도록 혀. x:Name 설정하는거 잊지말고 내말 알아듣지?'

그 아래에는 또...
'나중에(당연히 언제라고는 얘기 안하고) 1.1 정판이 나오면 Name을 설정할 수 있을테니껭 기둘리...'
라는군요.

...후우...

다시 한번 강조하지만 뭔가 막힌다... 어 이거 뭐지? 란 생각이 든다... 주저없이 검색 먼저 하세요. 검색하는데 5분도 안걸렸고 위의 문장 해독해석하는데 15분 밖에(...) 안걸렸어요.
반면 삽을 푸는건 거의 하루는 걸렸죠.

다시 한번 에브리바디~ 검색의 생활화~ 예!

Posted by gongdo

Submit comment.

  1. 패러다임 2007.06.14 23:24  comment URL  Edit/Remove  Submit comment.

    저도 업무에 압박에서 벗어나 달리고 싶어요.~~~ ^^, 근데 이름 속성이 읽기 전용이라니.. 갑갑 할것 같아요. ^^

    근데 정판은 언제 나올라나 -_-''

    상반기 뭐시기 운운 하더니.. 이야기가 없네요.

  2. Favicon of http://gongdo.tistory.com BlogIcon gongdo 2007.06.15 05:08  comment URL  Edit/Remove  Submit comment.

    으음... 근디... 오늘 또 테스트하다 보니깐 SetValue를 사용해서 되는 것 같기도...-_-;;;
    후우... 이제 좀 자고 일어나서 해봐야겠네요.

  3. -_- 2007.07.16 10:09  comment URL  Edit/Remove  Submit comment.

    헛.....물어보려고 했던 내용중 하나.

  4. pearly 2007.09.05 11:07  comment URL  Edit/Remove  Submit comment.

    setvalue로 됩니다.

    • Favicon of http://gongdo.tistory.com BlogIcon 공도 2007.09.05 15:09  comment URL  Modify/Remove

      넵.. 저도 이 글 쓰고 테스트 해봤는데 결과를 업데이트 못했네요. pearly님 말씀대로,
      object.SetValue<string>(DependancyObject.NameProperty, "이름");
      코드로 가능해요. 혹시나 안된다고 철썩같이 믿고 계셨던 분께는 죄송^^;