WPF 버전 4의 새로운 기능
이 항목에서는 Windows Presentation Foundation (WPF) 버전 4의 새로운 기능과 향상된 기능에 대해 설명합니다.
이 항목에는 다음과 같은 단원이 포함되어 있습니다.
새로운 컨트롤
표시 상태 관리자
터치 및 조작
그래픽 및 애니메이션
Text
바인딩
XAML 브라우저 응용 프로그램
WPF 및 Windows
WPF 및 Silverlight 디자이너
새로운 컨트롤
비즈니스 응용 프로그램을 쉽게 만들 수 있도록 세 가지 컨트롤을 WPF에 새로 추가했습니다. 이러한 컨트롤은 Silverlight 버전과 거의 100% 호환됩니다. 따라서 개발자가 코드를 재사용하여 클라이언트 및 웹 버전을 신속하게 만들 수 있습니다.
표시 상태 관리자
WPF에서는 ControlTemplate의 시각적 상태 변경에 대한 지원 기능이 향상되었습니다. Microsoft Expression Blend와 같은 도구를 사용하여 시각적 상태에 따라 컨트롤의 모양을 정의할 수 있도록 VisualStateManager 클래스와 지원 클래스를 추가했습니다. 예를 들어 Button 컨트롤이 Pressed 상태일 경우 모양을 정의할 수 있습니다. 기존 컨트롤에 대해 VisualStateManager를 사용하는 ControlTemplate을 만드는 방법은 ControlTemplate을 만들어 기존 컨트롤의 모양 사용자 지정을 참조하십시오. VisualStateManager를 사용하는 새 컨트롤을 만드는 방법은 사용자 지정 가능한 모양이 있는 컨트롤 만들기를 참조하십시오.
참고 |
---|
요소에서는 GoToElementState 메서드를 사용하여 ControlTemplate 외부에서 VisualStateManager를 활용할 수 있습니다. |
터치 및 조작
WPF의 요소는 이제 터치 입력을 허용합니다. UIElement, UIElement3D 및 ContentElement 클래스는 터치 인식 화면에서 요소를 터치할 때 발생하는 이벤트를 노출합니다. 터치 이벤트 외에도 UIElement에서는 조작을 지원합니다. 조작은 UIElement를 확대, 회전 또는 변환하는 것으로 해석됩니다. 예를 들어, 사진 보기 응용 프로그램에서는 사진 위의 컴퓨터 화면을 터치하여 사진을 이동, 확대/축소, 크기 조정 및 회전할 수 있습니다. 터치에 대한 자세한 내용은 연습: 첫 응용 프로그램 만들기 및 입력 개요를 참조하십시오.
그래픽 및 애니메이션
그래픽 및 애니메이션과 관련하여 몇 가지 사항이 변경되었습니다.
레이아웃 반올림
개체 가장자리가 픽셀 장치의 가운데 놓이면 DPI 독립 그래픽 시스템에서 흐리거나 반투명한 가장자리와 같은 렌더링 아티팩트를 만들 수 있습니다. 이전 버전의 WPF에는 이러한 경우를 처리하는 데 도움이 되는 픽셀 맞추기 기능이 있습니다. Silverlight 2에서는 가장자리가 전체 픽셀 경계에 포함되도록 요소를 이동하는 다른 방법인 레이아웃 반올림 기능을 도입했습니다. WPF는 이제 FrameworkElement의 UseLayoutRounding 연결된 속성을 사용하여 레이아웃 반올림을 지원합니다.
캐시된 컴퍼지션
새 BitmapCache 및 BitmapCacheBrush 클래스를 사용하여 시각적 트리의 복잡한 부분을 비트맵으로 캐시하여 렌더링 시간을 크게 단축할 수 있습니다. 비트맵은 마우스 클릭과 같은 사용자 입력에 계속 반응하므로 브러시와 같은 다른 요소에 비트맵을 채울 수 있습니다.
픽셀 셰이더 3 지원
WPF 4는 응용 프로그램에서 PS(Pixel Shader) 버전 3.0을 사용하여 효과를 작성할 있도록 허용하여 WPF 3.5 SP1에 도입된 ShaderEffect 지원을 기반으로 빌드됩니다. PS 3.0 셰이더 모델은 PS 2.0보다 더 정교하여 지원되는 하드웨어에 훨씬 큰 효과를 줄 수 있습니다.
감속/가속 함수
애니메이션 동작을 세부적으로 제어할 수 있는 감속/가속 함수를 사용하여 애니메이션을 개선할 수 있습니다. 예를 들어 ElasticEase를 애니메이션에 적용하여 애니메이션에 용수철 동작을 부여할 수 있습니다. 자세한 내용은 System.Windows.Media.Animation 네임스페이스에서 감속/가속 형식을 참조하십시오.
Text
텍스트와 관련하여 몇 가지 사항이 변경되었습니다.
새 텍스트 렌더링 스택
WPF 텍스트 렌더링 스택을 완전히 교체했습니다. 이 변경으로 인해 국가별 언어의 텍스트 렌더링 호환성, 명확성 및 지원이 향상되었습니다. 이제 새 텍스트 스택은 별칭 지정, 회색조 또는 ClearType 렌더링 모드에 대한 명시적 선택을 지원합니다. 텍스트 스택은 이제 최적화된 문자 레이아웃을 지원하여 Win32/GDI 텍스트에 비해 선명한 텍스트를 생성합니다. 새 텍스트 스택을 사용하여 애니메니션 또는 정적 텍스트에 대한 텍스트 힌트와 맞춤을 최적화할 수 있습니다. 또한 새 텍스트 스택은 작은 글꼴 크기를 대체할 포함된 비트맵이 있는 글꼴을 지원하므로 많은 동아시아 글꼴을 Win32/GDI 텍스트에 비해 선명하게 렌더링할 수 있습니다.
선택 내용 및 캐럿 사용자 지정
이제 TextBox RichTextBox 및 FlowDocumentReader와 같은 입력 및 읽기 컨트롤에 대해 선택 내용 및 캐럿을 칠하는 브러시를 지정할 수 있습니다. TextBoxBase에 대한 두 가지 새로운 속성이 있습니다.
SelectionBrush를 사용하여 선택한 텍스트를 강조 표시하는 브러시를 만들 수 있습니다.
CaretBrush를 사용하여 커서를 칠하는 브러시를 변경할 수 있습니다.
바인딩
바인딩과 관련한 다양한 변경과 개선이 이루어졌습니다.
InputBinding의 명령에 바인딩
InputBinding 클래스의 Command 속성을 코드에 정의된 인스턴스에 바인딩할 수 있습니다. 다음 속성은 종속 속성이므로 바인딩의 대상이 될 수 있습니다.
InputBinding, MouseBinding 및 KeyBinding 클래스는 소유하는 FrameworkElement에서 데이터 컨텍스트를 수신합니다.
동적 개체에 바인딩
WPF에서는 IDynamicMetaObjectProvider를 구현하는 개체에 대한 데이터 바인딩을 지원합니다. 예를 들어 코드에서 DynamicObject에서 상속되는 동적 개체를 만들 경우 태그 확장을 사용하여 XAML에서 개체에 바인딩할 수 있습니다. 자세한 내용은 바인딩 소스 개요을 참조하십시오.
바인딩 가능한 텍스트 런
Run.Text는 이제 종속성 속성입니다. 주요 이점은 단방향 바인딩을 지원한다는 점입니다. 또한 스타일 지정, 템플릿 등과 같은 종속성 속성의 다른 기능을 지원합니다.
XAML 브라우저 응용 프로그램
두 가지 기능이 XAML browser applications (XBAPs)에 추가되었습니다.
HTML-XBAP 스크립트 상호 작용
이제 응용 프로그램이 HTML 프레임에 호스팅되는 경우 XBAP를 포함하는 웹 페이지와 통신할 수 있습니다. XBAP는 HTML DOM에 세부적으로 액세스하여 DOM 이벤트를 처리할 수 있습니다. 자세한 내용은 BrowserInteropHelper.HostScript를 참조하십시오.
완전 신뢰 XBAP 배포
XBAP에서 완전 신뢰가 필요한 경우 사용자가 인트라넷 또는 브라우저의 신뢰할 수 있는 사이트에서 응용 프로그램을 설치할 때 표준 ClickOne 권한 상승 프롬프트가 자동으로 주어집니다.
이 두 기능에 대한 자세한 내용은 WPF XAML 브라우저 응용 프로그램 개요를 참조하십시오.
WPF 및 Windows
Windows 7 작업 표시줄은 사용자에게 상태를 알리고 공통 작업을 노출하기 위해 작업 표시줄 단추를 사용할 수 있는 향상된 기능을 제공합니다. System.Windows.Shell 네임스페이스의 새 형식은 Windows 7 작업 표시줄의 기능에 대한 관리되는 래퍼를 제공하고 Windows 셸에 전달되는 데이터를 관리합니다. 예를 들어 JumpList 형식을 사용하여 점프 목록에서 작업하고 TaskbarItemInfo 형식을 사용하여 작업 표시줄 축소판 그림에서 작업할 수 있습니다.
Windows 7 및 Windows Vista의 WPF 대화 상자에서는 이제 사용자 지정 위치를 포함하여 Windows 7의 모양과 느낌 및 Windows Vista 스타일을 지원합니다. 자세한 내용은 FileDialogCustomPlace 클래스를 참조하십시오.
WPF 및 Silverlight 디자이너
Visual Studio 2010에서는 WPF 또는 Silverlight 응용 프로그램을 만드는 데 도움이 되는 다양한 디자이너 기능이 향상되었습니다.
Silverlight에 대한 지원 향상
Visual Studio 2008에서 Silverlight 도구를 설치하여 Visual Studio에서 Silverlight 응용 프로그램을 만들 수 있습니다. 하지만 Silverlight 프로젝트에 대한 디자이너 지원이 제한됩니다. Visual Studio 2010에서는 Silverlight 프로젝트와 WPF 프로젝트에 대해 같은 디자이너 지원이 제공됩니다. 예를 들어 Silverlight 프로젝트의 경우 디자인 화면에서 마우스를 사용하여 항목을 선택하고 배치할 수 있습니다.
다중 플랫폼 버전 지원
Visual Studio 2008에서는 최신 WPF 플랫폼 버전만 컨트롤 디자인 타임의 대상으로 지정할 수 있었습니다. Visual Studio 2010에서는 이 지원이 WPF 3.5, WPF 4, Silverlight 3, Silverlight 4 및 후속 플랫폼 릴리스를 포함한 다중 플랫폼으로 확장되었습니다. 이러한 모든 플랫폼에 동일한 확장성 API가 있으므로 컨트롤 디자인 타임 작성자는 쉽게 하나의 환경을 작성한 후 각 플랫폼의 컨트롤 런타임에서 공유할 수 있습니다.
시각적 데이터 바인딩
새 데이터 바인딩 작성기를 사용하면 XAML을 입력하지 않고 바인딩을 시각적으로 구성하고 편집할 수 있습니다.
자동 레이아웃
보다 편리한 Grid 디자이너, 향상된 사용자 컨트롤 자동 크기 조정 지원 등 레이아웃 기능이 향상되었습니다.
향상된 속성 편집
이제 속성 창에서 Brush 리소스를 시각적으로 만들고 편집할 수 있습니다.
자세한 내용은 WPF Designer를 참조하십시오.