WPF, XAML

[WPF강의/WPF동영상]1. WPF 개요 및 HelloWorld PART 02

 

n  일반적으로 XAML 태그는 UI를 구현하는 데 사용되고 비하인드 코드로 프로그램의 동작을 구현한다.


n  XAML은 선언적으로 UI를 구현하는 데 사용되는 XML 기반 태그 언어로 일반적으로 창, 대화 상자, 페이지 및 사용자 정의 컨트롤을 만들고 이러한 항목을 컨트롤, 도형 및 그래픽으로 채우는 데 사용된다.

 


간단히 WPF HelloWorld를 만들어 보자.

 

1.     Visual Studio 2017에서 Visual C# >> WPF (.NET Framework)을 선택 후 프로젝트명은 WpfApp2으로 하자.

 

2.     MainWindow.xaml을 더블클릭하여 XAML 디자인 화면을 열어서 Label, TextBox, Button 컨트롤을 그림처럼 배치하자. (TextBox : txtName, Burron : btnSayHello)


3.     컨트롤을 올려서 완성된 MainWindow.xaml 코드

   <Window x:Class="WpfApp2.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:WpfApp2"

        mc:Ignorable="d"

        Title="MainWindow" Height="181.2" Width="503.4">

    <Grid Margin="0,0,0.4,1.8">

        <Label x:Name="label" Content="이름을 입력하세요." HorizontalAlignment="Left" Margin="64,55,0,0" VerticalAlignment="Top" Height="34" Width="135" FontSize="14"/>

        <TextBox x:Name="txtName" HorizontalAlignment="Left" Height="34" Margin="204,55,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>

        <Button x:Name="btnSayHello" Content="Say Hello!" HorizontalAlignment="Left" Margin="329,55,0,0" VerticalAlignment="Top" Width="75" Height="34" Click="btnSayHello_Click"/>

    </Grid>

   </Window>

 

4.     버튼을 클릭하고 속성항에서 번개표시를 누르면 이벤트들이 나타나는데 Click 이벤트를 더블클릭 하여 이벤트 핸들러를 작성하자.

 

    private void btnSayHello_Click(object sender, RoutedEventArgs e)

    {

       MessageBox.Show("Hello " + txtName.Text);

    }

 

5.    완성된 MainWindow.xaml.cs

   using System.Windows;

 

   namespace WpfApp2

   {

public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

        }

 

        private void btnSayHello_Click(object sender, RoutedEventArgs e)

        {

            MessageBox.Show("Hello " + txtName.Text);

        }

    }

   }

 


6.     실행화면(Ctrl + F5)


 

Comments