WPF가 구글링으로 많이 나오지 않아 내가 정리하는 글....
C#으로 UI 프레임워크 중 하나인 WPF(Winform도 있다) Microsoft에서 개발하였다고 한다.
(프레임워크란 특정 목적을 가지고 구현되어 있는 라이브러리 집합소. VisualStudio 설치시 .NET 데스크톱 개발로 체크하면 설치 가능)
WPF는 .Net 3.0부터 지원하며 Winform으로 작업할 수 있는 한계를 해결하고 만들어졌다고 한다.
WPF에는 Control이 있다. Control을 상속받아 다양한 Control이 생성되며 Window, UserControl, Button 처럼 다양한 Control을 만들수 있다.
처음 WPF 프로젝트를 생성하면 MainWindow.xaml 파일이 활성화 된다. 이는 C#코드와 xaml코드가 합쳐진 형태이다. xaml 코드를 이용해서 디자인 작업을 하고 C# 코드를 이용해서 기능을 구현한다. xaml은 마크업 언어라도 불리는 언어들 중 하나이다.
WPF는 Winform의 한계를 극복하기 위해서 다양한 확장성을 갖기 위해서 만들어진 UI 개발 프레임워크이며, WPF와 Winform을 접하는 사람들에게 Winform이 더 직관적이고 쉽다고 느낄 수 있다 한다.(나는 WPF도...Winform도 처음 본다...ㅎㅎ) 하지만 실무에서는 WPF를 더 많이 사용하고 있다 한다. WPF는 한번 배우는데 오래걸리고 MVVM(Model View ViewModel)이나 Binding, DependencyProperty와 같은 생소한 개념들이 있어서 어렵게 느껴질 수 있지만, 배우게 된다면 도움이 많이 될거라고 한다.
WPF는 Winform에 비해서 쉽게 웹으로 확장도 가능하다고 한다.
(출처 https://tip1234.tistory.com/211, https://sunday5214.tistory.com/15)