이미 소장하고 있다면 판매해 보세요.
|
시작하면서
GUI에 관한 짧은 히스토리 WPF의 원칙 리치 프레젠테이션을 위한 플랫폼을 구축한다 프로그래밍 가능한 플랫폼을 구축한다 선언적인 플랫폼을 구축한다 UI, 문서 그리고 미디어를 통합한다 웹의 장점과 윈도우의 장점을 통합한다 개발자와 디자이너를 통합한다 이 책에 관해 이 책을 읽기 위한 조건 이 책의 구성 감사의 글 저자에 관해 Chapter 1 소개 새로운 GUI, WPF 찰스 페졸드(Charles Petzold) 그리고 User32 HTML XAML 프로그래밍 모델 간단히 살펴보기 WPF 둘러보기 간단한 WPF 어플리케이션 작성과 실행 마크업 사용하기 기초 데이터 다루기 통합의 힘 스타일 사용하기 어플리케이션 구축을 위한 도구들 결론 Chapter 2 어플리케이션 어플리케이션의 원칙 확장 가능한 어플리케이션 웹 스타일 데스크탑 스타일 Application 정의 수명주기 에러 처리 상태 관리 리소스와 Configuration Configuration 상태 콘텐트 상태 문서 상태 윈도우(Windows) 윈도우 표시 크기와 위치 설정 Windows와 Application 사용자 컨트롤 네비게이션과 페이지(Pages) 페이지 간 상태 전달 네비게이션 제어 저널 제어 편리한 네비게이션과 페이지 함수 브라우저에서 어플리케이션 호스팅하기 HelloBrowser WPF의 하부 구조 느슨한 마크업(Loose Markup) 결론 Chapter 3 컨트롤 컨트롤 원칙 콘텐트 모델 템플릿 컨트롤 라이브러리 버튼 목록 메뉴와 툴바 컨테이너 범위 편집기 문서 뷰어 프레임(Frame) 빌딩 블록 툴팁 Thumb 테두리 팝업 ScrollViewer Viewbox 결론 Chapter 4 레이아웃 레이아웃 원칙 레이아웃 계약 일관된 레이아웃 내장 레이아웃 미지원 레이아웃 라이브러리 캔버스(Canvas) StackPanel DockPanel WrapPanel UniformGrid 그리드 그리드 개념 그리드 레이아웃 GridSplitter 커스텀 레이아웃 작성하기 결론 Chapter 5 비주얼 2D 그래픽스 2D의 원칙 기하도형(Geometry) 색(Color) 브러시 펜 드로잉 도형 이미지 불투명도 BitmapEffects 3D 그래픽스 3D 스타일의 Hello World 3D의 원칙 문서와 텍스트 텍스트 스타일의 Hello World 폰트 텍스트 레이아웃 고급 타이포그래피 애니메이션 새로운 타이머로서의 애니메이션 타임 및 타임라인 애니메이션 정의하기 애니메이션 통합 미디어 오디오 비디오(Video) 결론 Chapter 6 데이터 데이터 원칙 .NET 데이터 모델 퍼베이시브 바인딩(Pervasive Binding) 데이터 변환 리소스 바인딩 기초 CLR 개체에 바인딩하기 편집 XML 바인딩 XPath XML 바인딩 데이터 템플릿 템플릿 선택 고급 바인딩 계층적 바인딩 컬렉션 뷰 데이터 주도 디스플레이 결론 Chapter 7 액션 액션 원칙 요소 합성 느슨한 결합 선언적인 액션 이벤트 명령(Commands) 명령과 데이터 바인딩 트리거 데이터에 트리거 추가하기 트리거를 컨트롤에 추가하기 새로운 “if”라는 트리거 결론 Chapter 8 스타일 스타일 원칙 요소 합성 사용자 정의를 위한 통합 모델 도구에 대한 최적화 스타일 시작하기 모델, 디스플레이 및 스타일 테마 스킨 스타일 상속 스타일을 악용하지 말라 스타일이 아니라 테마를 만들어라 일관성이 가장 중요하다 타당한 이유를 제시하라 결론 Appendix A 기본 서비스 스레딩과 디스패처 속성 .NET 속성 속성 시스템 메타데이터 키보드, 마우스, 스타일러스 입력 바인딩 입력 장치와의 통신 키보드 포커스 결론 찾아보기 |
|
WPF(Windows Presentation Foundation)는 Microsoft의 몇 가지 프레젠테이션 기술을 리치 어플리케이션 구축을 위한 최고 기술 수준의 통합된 플랫폼으로 대체한다. WPF는 윈도우즈와 웹의 장점을 결합하였고, 사용자 인터페이스, 문서 그리고 미디어를 완전히 통합하였으며, XML 기반의 선언적인 프로그래밍의 강력함을 사용한다.
이 책에서 WPF 아키텍트인 크리스 앤더슨은 이 뛰어난 플랫폼을 체계적으로 설명하면서, 개발자들이 실제 사용자를 위한 튼튼한 어플리케이션을 구축하기 위해 필요로 하는 개념과 기술에 초점을 맞추었다. 이 팀에서 아키텍트로서의 그의 고유한 경험 덕택에 앤더슨은 WPF의 기초가 되는 중요한 새로운 개념을 철저하게 설명하고 개발자에게 특별한 가치를 제공하기 위해 WPF의 API가 동작하는 방법을 드러내었다. 실제의 예제 코드를 통해, 여러분은 마크업과 개발을 위한 웹의 단순한 모델, 어플리케이션을 위한 공통 프레임 그리고 리치 서버 연결성, 윈도우즈의 리치 클라이언트 모델, 단순한 프로그래밍 모델, 룩앤필에 대한 견고한 컨트롤과 리치 네트워킹을 이용하는 방법을 WPF에서 발견하게 될 것이다. 이 책에서 깊이 있게 탐구하는 주제들은 다음과 같다. WPF 컴포넌트와 아키텍처 WPF 설계의 핵심 원칙과 그 이유 컨트롤 레이아웃 비주얼 및 미디어(2D, 3D, 비디오 그리고 애니메이션) 데이터 통합 액션 스타일 WPF 기본 서비스 이 책은 권위 있는 코드 중심의 WPF 레퍼런스이며, 윈도우즈 개발자들이 완전히 새로운 세대의 그래픽 어플리케이션을 만들기 위해 필요로 하는 모든 것이다. 저자 프롤로그 어느덧 .NET 3.5와 Visual Studio 2008이 시장에 출시되었습니다. 처음 .NET 1.0이 등장했던 시점 이후로 마이크로소프트의 .NET 기술들의 혁신 주기는 점점 빨라지고 있으며, 그때마다 등장하는 새로운 기능들은 개발자들이 따라가기에도 숨이 찰 정도입니다. 이를 두고 개발자들은 환호해야 할지 불평을 늘어 놓아야 할지 마음을 종잡을 수 없습니다. 그렇더라도 분명한 것은 .NET은 개발자를 위한 기술이자 최종 사용자를 위한 기술이라는 점입니다. 사용자가 원하는 기능을 더 빨리 만들어 줄 수 있다면, 요즘처럼 비즈니스가 급변하는 시기에 사용자를 더 만족시켜 줄 수 있는 기술이 바로 .NET과 Visual Studio가 아닐까 생각하게 됩니다. 지금 어쩌면 우리는 이전에는 생각하지 못했던 놀라운 기술의 변화를 겪고 있는지도 모르겠습니다. 이는 행복한 경험일 수도 있고 충격적인 경험일 수도 있지만 개발자로서, 또 최종 사용자로서 역사의 중심에서 기술 혁신의 거대한 파도를 맞고 있다는 사실만으로도 우리는 행복한 개발자일 것입니다. 미래는 현재의 리소스를 어떻게 투자하느냐에 달려 있습니다. 자기 자신을 향한 끊임없는 투자만이 미래를 보장할 수 있을 것입니다. 기술의 격변기에 끌려가기보다 기술을 주도해나가는 자세를 견지해야 하겠습니다. WPF는 지금까지 나온 마이크로소프트의 모든 프레젠테이션 레이어를 통합하는 기술입니다. 이 기술은 통합의 마지막이 아니라 시작일 뿐입니다. 이 책은 WPF의 시작을 함께하고자 하는 개발자들을 위한 안내서이며, 현재의 .NET 3.5 환경에 대응하고 있습니다. 번역에 사용된 전문 용어는 최대한 마이크로소프트의 표준 용어를 준수하려고 하였지만, 더 적절한 용어가 있는 경우는 그 편을 선택하였습니다. 아무쪼록 WPF의 아키텍트인 크리스 앤더슨의 역작인 이 책을 통해 WPF의 전문가로 발걸음을 내딛을 수 있기를 바랍니다. : 십여 년 전 한창 MFC와 힘겨운 씨름을 시작하던 무렵 마이크로소프트는 C#과 닷넷을 소개하고 있었습니다. 그때만 해도 역자는 "설마 대세를 바꾸기야 하겠어?"라고 생각하며 무시하던 사람들 가운데 하나였는데, 지금은 대세가 되어 버린 닷넷에서도 비교적 신기술에 대한 서적을 번역하는 데 열을 내는 입장에 있습니다. 그만큼 빠르게 변화하는 윈도우즈 어플리케이션 세계에서 살아남기 위해 이제는 하루라도 빨리 새로운 것들을 익혀야 한다는 강박관념이 생길 지경입니다. 본서에서 다루고 있는 WPF를 포함한 사용자 인터페이스 관련 기술의 변화는 놀라울 따름입니다. 그저 "기능만 정확하게 수행하면 되지."라는 예전의 무사안일한 생각은 도전 받고 있으며, 편리성을 넘어 이제는 보다 멋지고 아름답게 그리고 사용자뿐만 아니라 개발자의 입장까지 아우른 프레임워크가 등장하게 되었습니다. WPF뿐만 아니라 어떠한 기술이라도 개발자라면 누구나 한발 앞서 배우고 또 배운 것을 실무에 적용해 보고 싶어 안달해 본 경험을 가지고 있을 거라 생각합니다. 역자 자신도 그러한 입장에서 이처럼 좋은 서적을 번역해 볼 수 있는 기회를 갖게 되어 본인을 위해서도 또 미약하게나마 본서를 통해 도움을 얻게 될 많은 동료 개발자들을 생각하며 작업에 임하였습니다. 핵심을 간결하고 쉽게 해석하여 정확한 전달이 이루어져야 한다는데 목표를 가지고 최선을 다했으나 그럼에도 불구하고 모자란 부분들에 대해서는 가차없이 지적해 주시면 감사히 듣고 고쳐 나가도록 하겠습니다. |