실버라이트 공부하기- 일곱째 시간 (커스텀컨트롤)


Microsoft/Silverlight 2010.10.28 15:22

















사용자 정의 컨트롤

사용자 정의 컨트롤이란, 반복실행이 기대되는 실버라이트의 일정영역을 별도의 컨트롤로 작성하는 것을 뜻합니다.

예를 들어 전세계 지도위에 세계시간을 표시하고 싶다면, 앞서 선언했던 아날로그 시계를 컨트롤화 하여 중복적인 많은 작업을 손쉽게 처리 할 수 있습니다. 하지만 사용자 정의 컨트롤은 실버라이트의 프로그램 일부로 독립적인 실행은 불가능합니다.
이를 테면, 하나의 기능을 지원하는 영역을 여러 프로젝트에서 다시 참조해서 사용하거나 한프로젝트 내에서 지속적으로 참조되는 독립 모듈로써만 가능합니다.

즉 작은 실버라이트 프로그램이라고 생각하시면 쉽겠네요.
동일하게 최상위 캔버스객체에 기반하여 동작하고 나머지 역시 동일하게 실행이 됩니다.


1 사용자 정의 컨트롤 제작
사용자 정의 컨트롤은 프로젝트 내부에 포함될 수 있으며 외부 프로젝트로 생성해서 이를 참조할 수도 있습니다.

실버라이트 사용자 정의 컨트롤은 라이브러리 형식이므로 "실버라이트 클래스 라이브러리"를 이용하여 프로젝트를 생성하게 됩니다.


위와 같이 쭉 생성을 하고 난뒤에

생성된 프로젝트에 기본적으로 참조되어 있는  dll 들은,

실버라이트 프로젝트에서 추가로 참조되는 DLL 은

mscorlib (mscorlib.dll) CLR 클래스 라이브러리를 포함합니다.
system (system.dll) 기존의 닷넷 프레임워크에서 사용되던 stack 등의 형식 win32 함수호출 등 기본역할 담당
System.Core (system.core.dll) 저수준의 닷넷 프레임워크라이브러리 포함
System.Net (system.net.dll) 기존의 닷넷 응용 프로그램에서 사용되던 프레임워크의 system.net 과는 다른 참조로 네트워크 통신을 지원합니다.
System.Windows (System.Windows.dll) 데이터 및 문서의 처리, 미디어와 화면 구성 등을 지원
System.Windows.Browers (System.Windows.Browers.dll) 실버라이트 어플과 브라우저 사이의 데이터 교환system.Xml (system.Xml.dll) XML 처리를 위한 라이브러리 포함

mscorlib.dll, system.dll, system.windows.dll 이 세가지는 실버라이트의 가장 기본적이고 필수적인 어셈블리입니다.

기본적인 위와 같은 DLL들을 포함하고 있습니다.




위와 같이 사용자 정의 컨트롤을 추가하신 뒤에,


위와 같은 코드를 쳐서 "Hi Control" 라고 출력되도록 하는 사용자 컨트롤을 만들었습니다. 끝...

정말 쉽죠?^^


그럼 이제 만들어 봤으니 만들어 놓은 사용자 정의 컨트롤을 사용해 봐야 겠죠?^^


 2 사용자 정의 컨트롤 사용하기


그렇다면 사용할 새 프로젝트를 만들어야겠죠 ?
실버라이트 응용프로그램을 새 프로젝트로 만들었습니다.

 
위에 보시다 시피 같은 프로젝트내에 SilverLightApplication1.Web이라는 프로젝트가 생성된 것을 확인 할 수가 있습니다.
이 프로젝트에 참조를 추가 시킵니다.

짜잔, 이렇게 아까 만들었던 custom1 이라는 컨트롤이 추가가 되어있는 것을 볼 수가 있네요.
한 프로젝트 안에서만 사용할 수가 있다는 단점이 있긴하지만, 이걸로도 충분한 효과를 볼 수 있을 듯하네요.
시간도 많이 절약되구, 효율적으루요.

참조로 추가된 프로젝트는 추후 배포될 때 같은 실행 폴더를 통해 배포되어 즉시 사용이 가능하고, 개발 할때에도 해당 프로젝트의 네임스페이스를 통해 직접 기재가 가능하다고 하네요.

다음 시간에서 사용자 정의 컨트롤을 XAML 코드로 추가시키고 응용하는 걸 배워볼께요^^
저작자 표시 비영리
신고

WRITTEN BY
ShakeJ

0 ,