본문 바로가기

Information/SilverLight3

[SL] 자식창(ChileWindow) 사용해보기..

자식창(childwindow)는 버젼3에서 만들어진 기능입니다.

그전버젼에서는 대부분 구현해서 사용하신듯하더군요.. 자식창은 기본적으로열리고 닫힐떄 애니메이션효과가 들어가 있더군요. 필자는 디자인을 못하는 능력이 있으며 그런건 하라고해도 못하는 사람이므로.. 애니메이션만 보고도.. 우워워~~ 했습니다.

사용방법은 아주 심하게 간단합니다. 자식창 추가해서 선언해서 SHOW 해주면끝나는거지요. 실버라이트 기본기라도 배워보기위해서 가계부를 실버라이트로 작성을 해보고있습니다. 이곳에서 로그인 화면및 기타. 메인화면도 자식창으로 구성했습니다.(이쁘니까요 ㅋㅋ)

먼저 솔루선탐색기에서 프로젝트에 마우스 우클릭을 통해 자식창을  추가해야합니다.

사용자 삽입 이미지

새항목을 누르면 추가가능한 목록이 나옵니다.
사용자 삽입 이미지

한글번역도 자식창이군요 (ChildWindow). 이렇게 바로 추가를 하면.. 솔루션 탐색기에는
ChildWindow1 이라는것이 만들어져있습니다.

그리고 자식창을 부르고싶은 버튼을 하나 그린후 그것을 더블클릭해서 Click Event 를 생성합니다.

---------VB
  Dim A As New ChildWindow1
  AddHandler A.Closed, AddressOf LOgin_Process
  A.Show()

-------C#

  ChildWindow1 A = new ChildWindow1;
  A.Show();


흠...너무 쉽군요.. 그냥 저렇게  Show 만 치면 멋진애니메이션과 함께 해당 창이 열리게됩니다.
전 처음 Mainpage 가 바로 자식창을 하나 열수있게해두었고 그 자식창을 메인폼으로 사용하기로했습니다.
(이쁘니까요. ^^)

http://tindevil.com/sl/mnote/


테스트겸 만들어보고 있는 가계부(MoneyNote)의 실버페이지입니다. 계정이 없으신분은 접속을 못하시겠지만
그래도 자식창의 모습은 확인하실수 있을겁니다. 전 자식창안에서 바로 로그인(자식창)을 나오게하여서
처음 켜지면 두개의 자식창이 보일겁니다.

그리구 위의 코드중에 분홍색줄은.. 해당 창이 종료되었을때의 이벤트를 연결해두는것입니다.
C#역시 Event 코드연결해주시면됩니다.

이것이 다이얼로그의 형태를 띄는 자식창이긴하지만 실제로는 다이얼로그폼이 아닙니다.
이창을 Show() 한다음에 다음 코드가 있으면 바로실행이되어버리니까요. 저역시 첨에 다이얼로그로 착각하고
로그인창 부른후에 다음 과정을 그 이후에 기술하였다가. 실행보고서 알았습니다.

다이얼로그가 아닙니다.

그래서 해당 창이닫힐떄 어떤일을 하라라고 이벤트를 연결을 합니다.
종료할떄.. 로그인관련 프로세스를 정의를 해뒀죠.  이벤트프로시져는

Public Sub LOgin_Process(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

형태로 기술하시면됩니다. C#은.. #에맞게. 변수명 위치만 조정해주시면되구요.

이걸로 ChildWindow 의 호출은 마무리를... ^^ 좀더 이쁜것들을 찾아봐야하는데 홍홍..