[WPF] WPF ControlTemplate (컨트롤 템플릿) 사용 방법

안녕하세요.

 

오늘은 WPF에서 ControlTemplate (컨트롤 템플릿) 사용 방법에 대해서 학습해 보려고 합니다.

 

요새 개인적으로 WPF 학습하는 것에 재미를 들려서 예제 코드를 따라 하고 만들고 여기 블로그에 기록하고 있다는 점, 미리 말씀 드리겠습니다.

 

ControlTemplate이란 쉽게 말해서 컨트롤을 사용자가 원하는 템플릿, 즉 원하는 모양으로 변경이 가능하도록 도와주는 기능인데요.

 

예를 들어, 버튼 컨트롤이 있고 버튼 컨트롤은 기본으로 사각형으로 디자인이 되어 있는데 예제를 통해서 버튼 컨트롤을 타원으로 바꾸는 방법을 ControlTemplate을 이용해서 보여드리도록 하겠습니다.

 

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
<Window x:Class="Ch06_1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Ch06_1"
        mc:Ignorable="d"
        Title="MainWindow" Height="300" Width="400">
    <Grid Background="Beige">
        
        <Button Content="확인">
            <Button.Template>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid>
                        <Ellipse Width="100" Height="30" Fill="Yellow" Stroke="Black"/>
                        
                        <!--Button 컨트롤의 Content 속성을 보여주는 속성-->
                        <ContentPresenter VerticalAlignment="Center"
                                          HorizontalAlignment="Center"/> 
                    </Grid>
                </ControlTemplate>
            </Button.Template>
        </Button>
        
    </Grid>
</Window>
 
cs

 

실행 결과

 

위와 같이 타원형으로 버튼 컨트롤이 변경된 것을 확인하실 수 있습니다.

 

감사합니다.^^

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY