WPF 구성
WPF 프로젝트는 애플리케이션(App) 과 윈도우(Window) 로 시작한다.
UI는 보통 XAML 과 코드비하인드(.xaml.cs) 로 분리되어 관리된다.
- App.xaml : 앱 전역 설정/리소스/시작 창 지정
- App.xaml.cs : 앱 시작/종료 등 전역 초기화 코드
- MainWindow.xaml : 메인 윈도우 UI(XAML)
- MainWindow.xaml.cs : 메인 윈도우 로직/이벤트 코드(코드비하인드)
App.xaml
- 애플리케이션 전역 설정 파일이다.
- 앱이 처음 실행될 때 어떤 창을 띄울지 결정한다.
- 전역 리소스(Style/Brush/Template 등)를 등록한다.
<Application x:Class="WpfApp1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
App.xaml 코드 분석
StartupUri="MainWindow.xaml"
앱 시작 시 자동으로 생성/표시할 시작 Window를 지정한다.
따로 new MainWindow().Show() 코드를 쓰지 않아도 MainWindow가 뜬다.
Application.Resources
앱 전체에서 공유할 리소스를 등록하는 공간이다.
Style, 색상 Brush, ControlTemplate 등을 여기 두면 전체 창에서 재사용한다.
App.xaml.cs
- App.xaml의 코드 영역이다.
- 앱 시작/종료 같은 전역 이벤트를 처리한다.
- 설정 로딩, DI 등록 같은 “앱 단위 초기화”를 여기서 많이 한다.
(예: OnStartup, OnExit 오버라이드)
MainWindow.xaml (UI)
메인 윈도우의 UI를 XAML로 정의한다.
레이아웃 패널을 이용해 컨트롤을 배치한다.

<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button Content="Click" Width="120" Height="35" />
</Grid>
</Window>
MainWindow.xaml.cs
- MainWindow의 사용자 코드 영역이다.
- 이벤트 처리/로직 코드를 여기에 작성한다.
- 생성자에서 InitializeComponent()를 호출해 XAML을 로드한다.
using System.Windows;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
MainWindow.xaml.cs 코드 분석
InitializeComponent()
- XAML에 정의된 UI를 읽어서 Window에 컨트롤을 생성/연결한다.
- XAML에 설정한 속성/배치/이벤트 연결이 적용된 상태로 창이 만들어진다.
- 외부에서 호출할 이유가 없으므로 보통 생성자 내부에서만 호출한다.
WPF 기본 흐름
App 시작 → App.xaml 로드 → StartupUri의 Window 생성
Window 생성자 → InitializeComponent() → UI 구성
사용자 입력 → RoutedEvent / Command / Binding으로 동작 처리
https://basiclike.tistory.com/322?category=1210469
2. WPF 기본구조 살펴보기
01. WPF 실행하기더보기01.1 WPF 프로젝트 초기 화면을 확인합니다.*Template 어떤 것을 만들 때 안내 역할을 하는, 사용상의 형식. 01.2 WPF 기본 템플릿 실행하고 살펴봅니다.Ctrl + F5 를 누르거나, "Visual
basiclike.tistory.com