WPF : WPF 에 대하여

2026. 4. 22. 22:29·FRAMEWORK/WPF

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
'FRAMEWORK/WPF' 카테고리의 다른 글
  • WPF : ViewModel - DI(의존성 주입)
  • WPF : Model
  • WPF : 타이머 만들기
  • WPF : MVVM(Model - View - ViewModel)
m_Dev
m_Dev
  • m_Dev
    m_Dev
    m_Dev
  • 전체
    오늘
    어제
    • 분류 전체보기
      • MAIN STUDY
        • 정보보안
        • 빅데이터
        • 정보처리
        • 컴퓨터 구조
        • 기타
      • JOB
        • Study
        • Project
      • LMS 7
        • 개발일지
      • FRAMEWORK
        • Qt
        • MFC
        • Winform
        • WPF
        • MAUI
      • NETWORK
        • Study
        • Assignment
      • PYTHON
        • Set
        • Study
        • Assignment
        • Project
      • C
        • Set
        • Study
        • Assignment
        • Project
      • C++
        • Set
        • Study
        • Assignment
        • Project
      • C#
        • Set
        • Study
        • Assignment
        • Project
      • DATABASE
        • MySQL
        • SQLite
      • IDE
        • VisualStudioCode
        • VisualStudio
        • Pycharm
        • Colab
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
m_Dev
WPF : WPF 에 대하여
상단으로

티스토리툴바