[세티의 WPF] 2. Extensible Application Markup Language Silverlight2007/12/16 20:56
작성일: 2007년 11월 09일
Extensible Application Markup Language
WPF는 기본적인 WPF서비스들의 이점과 WPF요소들의 조합을 위해 XML기반의 Markup 언어인 Extensible Application Markup Language(XAML)를 사용하여 만듭니다.
|
XAML |
|
<Window x:Class="WindowsApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WindowsApplication1" Height="300" Width="300" > <Grid> <Button Height="23" HorizontalAlignment="Left" Margin="19,18,0,0" Name="button1" VerticalAlignment="Top" Width="75">Button</Button> </Grid> </Window> |
WPF는 XAML안에 요소들을 정의하기 위한 UI도구를 필요로하며, 그것들을 WPF클래스의 인스턴스로 만들어 XAML 요소들을 번역하고, 그럼으로써 UI를 명확히 합니다.
XAML을 이용하여 UI를 명확히 할 몇 개의 중요하고도 전통적인 프리젠테이션 기술을 제공합니다.
- XAML은 UI를 정의하는데 있어서 코드보다 더 표현적입니다. 그러므로 그것은 대체로 UI 디자인을 더 간단하게 할 수 있습니다.
- 어플리케이션 로직과 UI 정의가 분리됨으로 WPF는 코드, 관리, 재사용과 같은 UI변경에 편하다.
- UI가 분리됨으써 WPF는 또한 XAML 마크업을 작성하기 위해 멀티플 디자인과 개발툴을 허락합니다. 이것은 UI지원을 위한 어플리케이션 로직을 개발자가 코딩을 하고 마친 후에 하나의 UI를 그래픽 디자이너가 생성함으써 하나의 워크플로우를 가져갈 수 있습니다.
컨트롤
UI를 만들기 위해, WPF는 컨트롤 집합을 제공합니다. 만약에 필요한 컨트롤이 없다면 Custom Controls을 쉽게 빌드하여 사용할 수 있습니다.
기본 컨트롤
기본 컨트롤은 Control base class에서 얻어지고 WPF에 의해 도구화 됩니다.
다음의 컨트롤들이 포함되어 있다고 보면 됩니다.
- Editing: CheckBox, ComboBox, PasswordBox, RadioButton, RichTextBox, Slider, TextBox
- List Selection: ListBox, ListView, TreeView
- User Information: Label, ProgressBar, Popup, ToolTip
- Action: Button, ContextMenu, Menu, Separator, StatusBar, Thumb, ToolBar
- Appearance: Border, BulletDecorator, Decorator, Image, ViewBox
- Dialog boxes: OpenFileDialog, PrintDialog, SaveFileDialog
- Containers: Expander, GroupBox, RepeatButton, ScrollBar, ScrollViewer, TabControl
- Layout: Canvas. DockPanel, Grid, GridSplitter, Panel, StackPanel, VirtualizingStackPanel, WrapPanel
- Navigation: Frame, Hyperlink
- Documents: DocumentViewer, FlowDocumentPageViewer, FlowDocumetReader, FlowDocumentScrollViewer
WPF는 또한 클립보드, 텍스트 선택 그리고 텍스트 처리를 하거나 Drag and Drop과 같은 특징있는 editing 컨트롤을 위한 지원을 확장할 수 있습니다.
커스텀 컨트롤
WPF는 커스터마이징이 가능한 컨트롤을 제공합니다. 스타일이나 템플릿을 변경하고 싶을 때 새로운 컨트롤을 만들 필요 없이 기존의 컨트롤의 외형을 변경할 수 있습니다.
만약에 컨트롤이 필요하다면 Color picker control를 사용하여 컨트롤을 얻고 생성할 수 있습니다.
아래의 그림은 커스텀 컨트롤이 어떤 것인지를 보여줍니다.
'Silverlight' 카테고리의 다른 글
| [세티의 WPF] 1. Windows Presentation Foundation 시작하기(2) (0) | 2008/03/16 |
|---|---|
| [세티의 WPF] 1. Windows Presentation Foundation 시작하기(1) (0) | 2008/03/15 |
| [세티의 WPF] Templates, Themes, Design, Graphics, Media, Document (1) | 2007/12/17 |
| [세티의 WPF] 3. DataBinding, Appearence, Resources, Styles (0) | 2007/12/17 |
| [세티의 WPF] 2. Extensible Application Markup Language (0) | 2007/12/16 |
| [세티의 WPF] 1. WPF 코어 타입과 인프라스트럭쳐 (0) | 2007/12/16 |
