반응형
1. Hello World를 출력했다!
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="72">
Hello, WPF!
</TextBlock>
</Grid>
</Window>
2. XAML
- eXtensible Application Markup Language의 약자
- GUI를 묘사하기 위한 Microsoft XML의 한 형태
- 간단하게 GUI를 생성하고 편집할 수 있다는 장점이 있음
- 꺾쇠괄호(<>)에 컨트롤의 이름을 넣어 컨트롤을 생성하고, 끝맺음 태그를 쓰거나 시작 태그에 슬래시를 써서 닫아줘야 함
<Button></Button> // 1
<Button /> // 2
- 대소문자를 구별해주어야 한다.
- 각 컨트롤은 속성을 가질 수 있음
- 속성은 두가지 방법으로 표현할 수 있음
// 1번째 방법
<Button FontWeight="Bold" Content="A button" />
// 2번째 방법
<Button>
<Button.FontWeight>Bold</Button.FontWeight>
<Button.Content>A button</Button.Content>
</Button>
- WrapPanel을 이용해 여러 하위 요소들을 묶을 수 있음
// 1번째 방법
<Button>
<Button.FontWeight>Bold</Button.FontWeight>
<Button.Content>
<WrapPanel>
<TextBlock Foreground="Blue">Multi</TextBlock>
<TextBlock Foreground="Red">Color</TextBlock>
<TextBlock>Button</TextBlock>
</WrapPanel>
</Button.Content>
</Button>
// 2번째 방법
<Button FontWeight="Bold">
<WrapPanel>
<TextBlock Foreground="Blue">Multi</TextBlock>
<TextBlock Foreground="Red">Color</TextBlock>
<TextBlock>Button</TextBlock>
</WrapPanel>
</Button>
- 같은 코드를 C#으로 작성했을때와 비교
Button btn = new Button();
btn.FontWeight = FontWeights.Bold;
WrapPanel pnl = new WrapPanel();
TextBlock txt = new TextBlock();
txt.Text = "Multi";
txt.Foreground = Brushes.Blue;
pnl.Children.Add(txt);
txt = new TextBlock();
txt.Text = "Color";
txt.Foreground = Brushes.Red;
pnl.Children.Add(txt);
txt = new TextBlock();
txt.Text = "Button";
pnl.Children.Add(txt);
btn.Content = pnl;
pnlMain.Children.Add(btn);