MVVM 6

윈도우8 : 디자인 모드/디자인 타임 알아내는 프로퍼티

MVVM 패턴 구현하다보면, 디자인 타임에서 샘플데이터(Mock)를 공급해 주기 위해서, 인스턴스가 생성되는 상황에 디자인 타임인지 아닌지 분기해 줄 필요가 있습니다. 실버라이트에서는 DesignerProperties.IsInDesignTool 프로퍼티가 애용되었구요. WPF에서는 DesignerProperties.GetIsInDesignMode(...) 프로퍼티가 애용되었습니다. 윈도우 8 스토어 앱 개발을 위해서는 WinRT API의 아래 프로퍼티를 참조하는 것이 정석입니다. C# Windows.ApplicationModel.DesignMode.DesignModeEnabled Javascript Windows.ApplicationModel.DesignMode.designModeEnabled C++ W..

Metro/Windows 8 2012.08.24

WP7용 HugeFlow MVVM Library를 공개합니다.

휴즈플로우는 지난 삼 개월 간 꽤 큰 윈도우폰7 프로젝트를 진행하면서, 아홉 개의 앱을 완성하였습니다. (이미 마켓 플레이스에 등록이 끝나 곧 공개예정이니 기대하시구요. 하지만 한국에서 윈폰7이 나와야...) 이번에도 MVVM 라이브러리를 잘 활용하였는데요. 저희만 쓰기 아까워서 CodePlex에 공개하였습니다. http://hugeflowmvvm.codeplex.com 안정화된 릴리즈버전의 바이너리와 소스를 공개해 놓았습니다만, 샘플프로젝트를 아직 올려놓지 않았네요. 곧 업로드할 예정입니다. MVVM 코딩을 쉽게 하실 수 있게 도와주는 코드조각(Code Snippet)들도 함께 공개되어 있으니, 다운받아서 애용하시기 바랍니다. 사용법이 바뀌지 않아 예전부터 저희 HugeFlow.CommandPatter..

[Tip] Collection 바인딩과 InvalidOperationException

실버라이트 어플리케이션을 개발하다보면, ListBox의 ItemsSource와 List나 Collection과 같은 IEnumerable류를 바인딩 할 경우가 자주 있습니다. 휴즈플로우에서 진행한 최근 프로젝트 중에서 MVVM 패턴으로 개발한 어플리케이션이 있는데요. ListBox와 Collection류의 프로퍼티가 바인딩하게 되는 여러 뷰들을 빠른 속도로 전환하다보면, InvalidOperationException이 발생하였습니다. Exception에 담겨있는 에러메세지는 "개체의 현재 상태 때문에 작업이 유효하지 않습니다."라는 애매한 메세지였고, 예외가 발생한 곳은 뷰모델의 베이스용으로 구현해 놓은 ViewModelBase의 OnPropertyChanged(...) 함수 내부였습니다. 어플리케이션을..

Silverlight/Tips 2009.06.04

[MIX09] 휴즈플로우 세션, Building a Rich Social Network Application

MIX09 제3일 오전 10시 45분에 저희 휴즈플로우의 세션 발표가 있었습니다. [Building a Rich Social Network Application]이라는 주제로, 실버라이트를 이용하여 제작 중인 저희 서비스 PIGMAP에 대한 데모와 함께 기술적인 내용을 저희 기획자이자 PM인 허미호 씨와 함께 발표하였습니다. 세션 동영상 발표 이틀 전에 마이크로소프트에서 발표자에게 제공하는 ‘현장 스피커 트레이닝’을 한 시간 정도 받았는데요. 강사가 그랬습니다. “너희는 영어가 2차 언어이기 때문에, 연음 같은 것 어쭙지 않게 굴리면 못알아 듣기 때문에, 차라리 안하는게 낫다.” 그래서 저희가 강연에서는 될 수 있으면 천천히 또박또박 발음을 했습니다. 그 덕분에 알아 듣기 쉬우실 거예요. ^^ 동영상을 ..

실버라이트 카페 Open 세미나 - MVVM Pattern in Silverlight

네이버 실버라이트 카페 주최로, 2009년 2월 26일 오후 7시 30분에 한국 마이크로소프트 Grow룸에서 오픈 세미나를 진행하였습니다. 발표자료를 공유합니다. Q1. MVVM패턴방식의 개발에서 디자이너는 언제 참여하게 되나요? ProtoType View를 만들기 시작할 때부터 참여해도 되구요. 개발자가 ProtoType View를 만드는 경우는 그 이후에 참여하게 됩니다. Source Control을 하는 경우에는 상시 디자인 변경이 가능합니다. 개발자 모르게 디자인은 계속 발전하고 있을 수 있습니다. Q2. Blend에서 Rebuild 시 Exception 방지는 어떻게? 예전에 배포했던 솔루션에서 사용하고 있던 HugeFlow.CommandPattern의 문제였습니다. 이 포스트에 포함되어 있는 ..

매쉬업 이미지 검색 + MVVM모델 + CommandPattern 예제

2009 매쉬업 경진대회 – 매쉬업 캠프 마이크로소프트 편에서 데모로 공개했던 간단한 이미지 검색 예제를 1. Open API를 이용한 MVVM모델을 고려하여 정리하고, 2. Command Pattern까지 적용한 후에, 3. Flickr, Daum, Naver 이미지 검색을 추가한... 예제를 소스와 함께 공개합니다. 스크린샷 라이브 데모 (콤보박스를 클릭하여 원하는 검색 서비스를 선택합니다.) 검색어를 입력하시고, 엔터를 치시거나 'Search' 버튼을 누르세요. 검색어를 변경하지 않으시고 Search를 계속해서 누르시면 추가 검색이 됩니다. 소스 다운로드 invalid-file 약간의 코드리뷰 소스를 다운로드 받으시고 솔루션 파일을 여시면 다음과 같은 구조를 보시게 됩니다. View 폴더 아래에 I..

Silverlight/Lecture 2009.01.30