■ TabControl 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
<Grid xmlns:ctrl="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" Width="200" Height="300"> <ctrl:TabControl> <ctrl:TabItem Header="텍스트 탭"> <ctrl:TabItem.Content> <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <TextBlock Width="400" TextWrapping="Wrap" Text="단일 항목과 헤더를 표시하는 컨트롤을 앞서 살펴본 ContentControl을 상속받아 구현된 단일 항목을 표시하는 컨트롤과 헤더의 조합 컨트롤입니다. 실버라이트에서 제공하는 단일 항목과 헤더를 표시하는 컨트롤은 TabItem 컨트롤이 있으며 TabControl의 자식 Item으로 사용합니다." /> </ScrollViewer> </ctrl:TabItem.Content> </ctrl:TabItem> <ctrl:TabItem> <ctrl:TabItem.Header> <StackPanel Orientation="Horizontal"> <Image Width="20" Height="20" Source="star.png" /> <TextBlock Margin="2" Text="이미지 탭" /> </StackPanel> </ctrl:TabItem.Header> <ctrl:TabItem.Content> <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <Image Source="star.png" /> </ScrollViewer> </ctrl:TabItem.Content> </ctrl:TabItem> </ctrl:TabControl> </Grid> |
star.png
■ TemplateBinding 태그 확장을 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<ControlTemplate TargetType="ContentControl"> <ContentPresenter Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Cursor="{TemplateBinding Cursor}" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /> </ControlTemplate> |
■ TextBlock 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<TextBlock> <Run Foreground="Blue" FontFamily="Courier New" FontSize="32" FontWeight="Bold"> Wow! </Run> <LineBreak /> <Run Foreground="Orange" FontFamily="Times New Roman" FontSize="32" FontWeight="Light" FontStyle="Italic"> Silverlight </Run> </TextBlock> |
■ TextBox 클래스의 CaretBrush 속성을 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<TextBox Text="Red Caret Brush"> <TextBox.CaretBrush> <SolidColorBrush Color="Red" /> </TextBox.CaretBrush> </TextBox> |
■ Tooltip 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
<Button Width="100" Height="30" Content="Sample Button"> <ToolTipService.ToolTip> <ToolTip HorizontalOffset="5" VerticalOffset="5"> <ToolTip.Content> <Grid> <Rectangle Width="130" Height="90" RadiusX="15" RadiusY="15" Fill="Orange" /> <TextBlock TextAlignment="Center" Text="샘플 버튼입니다." /> </Grid> </ToolTip.Content> </ToolTip> </ToolTipService.ToolTip> </Button> |
■ TreeView 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<Grid xmlns:ctrl="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" Background="White"> <ctrl:TreeView> <ctrl:TreeViewItem Header="바탕 화면"> <ctrl:TreeViewItem.Items> <ctrl:TreeViewItem> <ctrl:TreeViewItem.Header> <ctrl:TreeViewItem Header="내 문서"> <ctrl:TreeViewItem.Items> <ctrl:TreeViewItem> <ctrl:TreeViewItem.Header> <TextBlock Margin="2" Text="내 사진" /> </ctrl:TreeViewItem.Header> </ctrl:TreeViewItem> <ctrl:TreeViewItem> <ctrl:TreeViewItem.Header> <TextBox Margin="2" Text="내 비디오" /> </ctrl:TreeViewItem.Header> </ctrl:TreeViewItem> </ctrl:TreeViewItem.Items> </ctrl:TreeViewItem> </ctrl:TreeViewItem.Header> </ctrl:TreeViewItem> <ctrl:TreeViewItem> <ctrl:TreeViewItem.Header> <TextBlock Margin="2" Text="3,.5 플로피" /> </ctrl:TreeViewItem.Header> </ctrl:TreeViewItem> <ctrl:TreeViewItem> <ctrl:TreeViewItem.Header> <TextBlock Margin="2" Text="로컬 디스크(C:)" /> </ctrl:TreeViewItem.Header> </ctrl:TreeViewItem> <ctrl:TreeViewItem> <ctrl:TreeViewItem.Header> <TextBlock Margin="2" Text="로컬 디스크(D:)" /> </ctrl:TreeViewItem.Header> </ctrl:TreeViewItem> </ctrl:TreeViewItem.Items> </ctrl:TreeViewItem> </ctrl:TreeView> </Grid> |
■ ArcSegment 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<Path StrokeThickness="10" Stroke="Gold"> <Path.Data> <PathGeometry> <PathGeometry.Figures> <PathFigure StartPoint="200 0"> <PathFigure.Segments> <ArcSegment Size="50 50" IsLargeArc="True" SweepDirection="Clockwise" Point="0 0" /> </PathFigure.Segments> </PathFigure> </PathGeometry.Figures> </PathGeometry> </Path.Data> </Path> |
■ BezierSegment 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<Path StrokeThickness="10" Stroke="Gold"> <Path.Data> <PathGeometry> <PathGeometry.Figures> <PathFigure StartPoint="0 0"> <PathFigure.Segments> <BezierSegment Point1="100 0" Point2="0 100" Point3="100 100" /> </PathFigure.Segments> </PathFigure> </PathGeometry.Figures> </PathGeometry> </Path.Data> </Path> |
■ BlurEffect 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Button Width="200" Height="100" FontSize="20" Content="Blur"> <Button.Effect> <BlurEffect Radius="5" /> </Button.Effect> </Button> |
■ CompositeTransform 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Rectangle Height="100" Width="100" Fill="Blue"> <Rectangle.RenderTransform> <CompositeTransform ScaleX="3" Rotation="45" TranslateX="30" /> </Rectangle.RenderTransform> </Rectangle> |
▶ 아래 코드는 상기 코드와 동일한 결과를 만들지만, 각 Transform 순서를
더 읽기
■ EllipseGeometry 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Path StrokeThickness="10" Stroke="Black" Fill="Orange"> <Path.Data> <EllipseGeometry Center="100 100" RadiusX="50" RadiusY="50" /> </Path.Data> </Path> |
■ GeometryGroup 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<Path StrokeThickness="5" Stroke="Black" Fill="Gold"> <Path.Data> <GeometryGroup FillRule="EvenOdd"> <LineGeometry StartPoint="10 10" EndPoint="50 50" /> <EllipseGeometry Center="75 50" RadiusX="50" RadiusY="30" /> <RectangleGeometry Rect="50 60, 100 50" /> <EllipseGeometry Center="130 140" RadiusX="30" RadiusY="55" /> </GeometryGroup> </Path.Data> </Path> |
■ GPU 가속 기능을 사용하는 방법을 보여준다. ▶ 실버라이트 애플리케이션 호스팅 웹 페이지에 다음 코드를 추가한다 (XAML)
|
<param name="EnableGPUAcceleration" value="true" /> |
▶ GPU 가속 기능을
더 읽기
■ Image 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 1 (XAML)
|
<Image Source="flower.jpg" /> |
▶ 예제 코드 2 (XAML)
|
<Image> <Image.Source> <BitmapImage UriSource="flower.jpg" /> </Image.Source> </Image> |
■ ImageBrush 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Ellipse Width="150" Height="150"> <Ellipse.Fill> <ImageBrush ImageSource="bkimage.jpg" /> </Ellipse.Fill> </Ellipse> |
■ LineGeometry 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Path StrokeThickness="10" Stroke="Orange"> <Path.Data> <LineGeometry StartPoint="10 10" EndPoint="150 150" /> </Path.Data> </Path> |
■ LineSegment 엘리먼트를 사용해 사각형을 그리는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<Path StrokeThickness="10" Stroke="Blue"> <Path.Data> <PathGeometry> <PathGeometry.Figures> <PathFigure StartPoint="0 0" IsClosed="True"> <PathFigure.Segments> <LineSegment Point="100 0" /> <LineSegment Point="100 100" /> <LineSegment Point="0 100" /> </PathFigure.Segments> </PathFigure> </PathGeometry.Figures> </PathGeometry> </Path.Data> </Path> |
■ MediaElement 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Grid> <MediaElement Name="mediaElement" Width="400" Height="300" IsMuted="True" IsHitTestVisible="False" Stretch="UniformToFill" Source="sample.mp4" /> </Grid> |
■ Path 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Path StrokeThickness="10" Stroke="Black" Fill="Orange"> <Path.Data> <RectangleGeometry Rect="20 20, 100 100" RadiusX="20" RadiusY="20" /> </Path.Data> </Path> |
■ Path 엘리먼트에서 패스 미니 언어를 사용해 3차 베지어 곡선을 그리는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Path StrokeThickness="10" Stroke="Black" Fill="Gold" Data="M 10 10 C 10 200 150 -100 150 100" /> |
■ RadialGradientBrush 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<Rectangle Width="200" Height="100"> <Rectangle.Fill> <RadialGradientBrush Center="0.5 0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5 0.5"> <GradientStop Offset="0.0" Color="Red" /> <GradientStop Offset="0.25" Color="Yellow" /> <GradientStop Offset="0.75" Color="Pink" /> <GradientStop Offset="1.0" Color="White" /> </RadialGradientBrush> </Rectangle.Fill> </Rectangle> |
■ RectangleGeometry 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 코드 (XAML)
|
<Path StrokeThickness="10" Stroke="Black" Fill="Orange"> <Path.Data> <RectangleGeometry Rect="50 50 100 100" RadiusX="20" RadiusY="20" /> </Path.Data> </Path> |
■ RotateTransform 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 1 (XAML)
|
<Rectangle Width="100" Height="100" Fill="Blue"> <Rectangle.RenderTransform> <RotateTransform CenterX="50" CenterY="50" Angle="45" /> </Rectangle.RenderTransform> </Rectangle> |
▶ 예제 2 (XAML)
|
<Rectangle Width="100" Height="100" Fill="Blue" RenderTransformOrigin="0.5 0.5"> <Rectangle.RenderTransform> <RotateTransform Angle="45" /> </Rectangle.RenderTransform> </Rectangle> |
■ ScaleTransform 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 1 (XAML)
|
<Rectangle Width="100" Height="100" Fill="Blue"> <Rectangle.RenderTransform> <ScaleTransform CenterX="50" CenterY="50" ScaleX="0.5" ScaleY="0.5" /> </Rectangle.RenderTransform> </Rectangle> |
▶ 예제 2 (XAML)
|
<Rectangle Width="100" Height="100" Fill="Blue" RenderTransformOrigin="0.5 0.5"> <Rectangle.RenderTransform> <ScaleTransform ScaleX="0.5" ScaleY="0.5" /> </Rectangle.RenderTransform> </Rectangle> |
■ SkewTransform 엘리먼트를 사용하는 방법을 보여준다. ▶ 예제 1 (XAML)
|
<Rectangle Width="100" Height="100" Fill="Blue"> <Rectangle.RenderTransform> <SkewTransform CenterX="50" CenterY="50" AngleX="20" AngleY="20" /> </Rectangle.RenderTransform> </Rectangle> |
▶ 예제 2 (XAML)
|
<Rectangle Width="100" Height="100" Fill="Blue" RenderTransformOrigin="0.5 0.5"> <Rectangle.RenderTransform> <SkewTransform AngleX="20" AngleY="20" /> </Rectangle.RenderTransform> </Rectangle> |