Silverlight 115

Template에 대해서 알아보자. - DataTemplate, ItemsPanelTemplate편

안녕하세요. 클라인스입니다. 감기 걸린지 2주가 지났는데도 아직까지 감기가 떠나질 않고 있네요.. 제가 그리 좋은걸까요?? 감기 조심하세요.. 그럼 강좌 시작하겠습니다. 이전 시간에는 Template 중에서 ControlTemplate에 대해서 알아보았습니다. 이번시간에는 DataTemplate, ItemsPanelTemplate에 대해서 알아보도록 하겠습니다. 우선 DataTemplate에 대해서 알아보도록 하겠습니다. DataTemplate은 말 그대로 데이터의 외관을 꾸며줄 때 사용할 수 있습니다. 즉, 컨텐츠가 어찌 표현될지 꾸며줄 수 있다는 뜻입니다.(컨트롤 템플릿과 혼동하지 마세요!) 특히, ListBox, ComboBox와 같은 컨트롤에서 Binding과 결합하여 쓰면 아주 유용한데요.. 대..

Silverlight 2008.12.15

Template에 대해서 알아보자. - ControlTemplate편

안녕하세요. 클라인스입니다. 오랜만에 강좌를 올리네요..ㅎ 동영상으로 올리고 싶었는데..아직 감기가 낫지 않아서 힘드네요.. 감기가 다 낫게 되면 이전에 만들었던 대부분의 강좌를 동영상강좌로 만들려고 생각중입니다. ^^ 오늘은 실버라이트에서 Template이란 녀석에 대해서 알아보도록 하겠습니다. Template을 딱히 뭐라고 정의하기는 어렵지만.. 컨트롤에 기능상의 변화는 없으면서 외형을 바꾸는 방법?이라고 정의할 수 있을 것 같습니다. 실버라이트에 Style이란 녀석도 있는데 해당 녀석은 해당 컨트롤의 프로퍼티를 변경하여 외형을 바꾸는 것이므로 Template과는 엄연히 다릅니다. 그럼 Template에 대해서 좀더 자세히 알아보도록 하겠습니다.(혹시 저의 부족한 실력으로 틀린 부분이 있다면 과감히 ..

Silverlight 2008.12.12

ContentControl?? ContentPresenter

바로 리스트 박스로 들어가자고 하니 초반부터 낙오자가 많을 것같다는 생각이 들더군요. 그래서 아주 기본 컨트롤부터 시작하기로 했습니다. ContentControl은 아주 유용한 Control이면서 아주 기본적인 Control입니다. 우리가 알고 있는 대부분의 Control이 ContentControl을 상속받고 있죠. 일단 모든 Button류가 상속하고 있고 ListBoxItem등도 상속하고 있는 클래스입니다. 그럼 이것이 도데체 어떤 컨트롤인지 알아보기 위해 한번 화면에 뿌려보도록 하겠습니다. 다음처럼 간단한 코드를 Xaml에 추가해보죠.. 화면에 단순히 "This is a ContentControl!!" 이라고 뿌려지는 것을 볼 수 있을 겁니다. 뭐야... 그냥 TextBlock 인거야?... 하지만..

Silverlight 2008.12.09

ListBox의 Select된 객체 해제하기.(Select취소하기)

ListBox는 많은 프로젝트에서 가장 많이 사용하면서도 쓰기 어려운 컨트롤중에 하나죠. 여기서 가끔 사용하게 되는 것이 이미 Select된 객체를 취소시키는 것입니다. 코드로 Select를 하는 방법은 두가지가 있죠. 하나는 SelectedItem을 이용하는 방법이고 하나는 SelectedIndex를 사용하는 방법입니다. SelectedIndex는 선택된 객체의 순서를 반환해주고 SelectedItem은 선택된 객체의 Binding된 Data 값을 반환해주죠. 셋팅을 해줄 때도 역시 선택할 객체의 Index값을 SelectedIndex에 넣어주거나 우리가 선택하고 싶은 Data를 SelectedItem에 셋팅해줌으로써 Select된 객체를 바꿀 수 있습니다. 그리고 선택이 되지 않은 초기 값은 Selc..

Silverlight 2008.12.02

[삽질방지] 실버라이트영역에 마우스를 올려야만 실버라이트가 보인다??

실버라이트의 네이버 카페에 질문으로 올라온 내용을 정리해서 올립니다. 원더소울님이 질문을 해 주셨고 댓글로 이과장님께서 답변을 해 주셨내요. 현상은 다음과 같습니다. 따로 특별한 이벤트를 걸거나 하지 않았는데 마우스가 오버되야지만 실버라이트가 동작하는 현상입니다. 문제의 원인은 해결책은 테이블이나 div 안에 실버라이트의 object 태그가 있고 width나 height가 %로 되어 있을 경우입니다. 해결책은 object 태그의 width와 height를 명시적으로 지정해 주시면 해결된답니다. ^^ [출처] 실버라이트 네이버 카페

Silverlight 2008.12.01

Blend 스타일의 Color Picker (소스포함)

Introduction 제가 1년 전쯤 (실버라이트 1.1버전) 공개했던 Color Picker를 휴즈플로우에서 진행하는 어떤 프로젝트에서 쓰게되어, 실버라이트 2 버전으로 포팅도 하고, 많이 다듬어서 다시 이렇게 공개합니다. 블렌드 스타일의 컬러픽커이므로 많은 색상을 지원하실 수 있습니다. Screen Shots Live Demo! Source Code HSV Color Space를 참고하여 구현하였습니다. 허접한 소스이지만, 살펴보시다 보면 쓸만한 구석이 있을 거예요. 현재 유저컨트롤로 구현되서 많이 아쉽습니다... 언젠가 시간이 허락되면 박스마일군에게 많이 배워서 커스텀 컨트롤로 제작하고픈 작은 꿈이 있습니다. ^^ 위 예제에서 색상 선택하는 버튼은 ColorBox라는 객체를 사용하시면 되구요. B..

Silverlight 2008.11.27

실버라이트 Full Screen 모드에서 허용되는 키 목록 (SL2기준)

실버라이트 Full Screen 모드에서는 많은 키에 대해 이벤트가 막혀있습니다. 이것은 피싱방지를 위한 것인데요. 자동으로 Full Screen 모드로 가지지 않는 것도 같은 이유에서 막혀 있습니다. 실버라이트 등 RIA를 이용하면, '윈도우즈 화면 잠금 화면' 등을 손쉽게 흉내낼 수 있기 때문에, 위에 언급한 내용이 막혀 있지 않으면 사용자의 아이디/패스워드 등의 정보를 빼내는 나쁜 수단으로 악용될 수 있기 때문입니다. 현재 실버라이트 2 정식 버전으로 허용된 키는 아래와 같습니다. 방향키 (상, 하, 좌, 우) 스페이스바 Tab키 페이지 Up/Down Home키 End키 Enter키 총 11가지 키 입니다. 그리고 Full Screen 모드를 빠져나가기 위한 ESC(Escape)키가 지원되지만, 이..

Silverlight 2008.11.27

충격 딥줌 컴포져 새버전(11월 24일자) - Seadragon Ajax, API

딥줌 컴포져의 새버전이 나왔군요.. 해당 버전은 아래의 경로에서 받으실 수 있고요. http://xpression2.members.winisp.net/DZC/Deep%20Zoom%20Composer.msi 이번 버전은 혁신적인 일이 두가지가 있었어요.. 두가지 내용 꼭 챙기시는게 좋을듯해요.. 1. 이제는 딥줌을 Ajax 로.. SeaDragon Ajax 딥줌이 SeaDragon 프로젝트의 일환으로 나온건 다 아실거예요.( http://livelabs.com/seadragon/ ) 문제는 기존까지는 실버라이트가 없으면 딥줌기능을 사용할 수가 없었는데요. 이제는 Seadragon Ajax 가 생기면서 실버라이트 없이도 딥줌기능을 사용할 수가 있게 되었어요. (정확히는 딥줌은 실버라이트에서 쓰는 용어이고 a..

Silverlight 2008.11.27