1. WPF 란?
- 예전 Framework 들의 전형적인 Event 기반 함수 호출 방식에서 벗어나, 데이터 바인딩 개념이 들어간 Framework 임
- MVVM(Model - View - ViewModel) 개념 기반으로 UI 와 Data가 완전히 분리되어 작동함
[ View (XAML) ]
↓
[ ViewModel (Code-behind) ]
↓
[ Model (Data) ]
2. View : XAML
- 코드 베이스가 아닌 HTML 구조로 디자이너 친화적인 UI 레이어라고 할 수 있음
<Button Content="Start" Click="BtnStart_Click"/>
> 이벤트 기반
<Button Content="Start" Command="{Binding StartCommand}"/>
> 바인딩 기반
- 오로지 UI 만 존재하고, Logic이 없는 것이 가장 큰 특징
3. ViewModel
- UI 와 Model(Data)를 연결하는 역할로 CodeBehind 역할을 담당
- Status 와 Logic 으로 존재함.
- 데이터 변경 -> UI 업데이트 ( UI 입력 -> 데이터 반영)
public class MainViewModel : INotifyPropertyChanged
{
private string _status;
public string Status
{
get => _status;
set
{
_status = value;
OnPropertyChanged();
}
}
}
> 이 때 INotifyPropertyChanged 라는 인터페이스는 WPF 의 바인딩 개념에서 매우 필수적인 요소로, 바인딩을 사용하기 위해서는 반드시 상속되어야 함.
4. Model(Data)
- 순수 데이터 구조임
- UI 와 완전 분리되어 있음
public class Car
{
public string Name { get; set; }
public int Speed { get; set; }
}'FRAMEWORK > WPF' 카테고리의 다른 글
| WPF : ViewModel - DI(의존성 주입) (0) | 2026.04.25 |
|---|---|
| WPF : Model (0) | 2026.04.25 |
| WPF : 타이머 만들기 (0) | 2026.04.23 |
| WPF : MVVM(Model - View - ViewModel) (0) | 2026.04.23 |
