WPF(Windows Prestiation foundation)
1. 개요
A. 기존 윈폼프로그램의 단점을 보완한 강력한 GUI 개발 프레임워크
a. 최신 그래픽 하드웨어 활용이 가능한 해상도 독립적인 벡터 기반 렌더링 엔진
b. XAML(eXtensible ApplicationMarkupLanguage)내에서 디자인, 컨트롤, 데이터 바인딩,레이아웃, 2D및 3D 그래픽, 애니메이션, 스타일, 템플릿,문서, 미디어 등을 손쉽게 포함시켜 앱 개발 가능
2. WPF 개발 앱리스트
A. VirtualHumanAnatomy- Simmakers (Scientificsoftwaredevelopment)
a. C++,OpenGL,C#,WPF3.5,COM,TAOFramework,GLSL
B. Frost3DUniversal Simmakers
a. C++,C#,.NETFramework:WPF,WCF,MAF;ManagedDirectX,OpenGL,CUDA
C. 효성중공업 IED61850Editor devzone
D. 포트폴리오 - 플랫폼로켓티어
E. 삼성중공업 스마트쉽 앱
WinForm의 장점
A. 오래된 기술이다. 따라서 더 많이 사용되고 많이 테스트가 되었다.
B. 상용 또는 무료 서드파티 컨트롤이 이미 많이 존재한다
C. 혼자서 윈폼 디자인부터 많은 작업을 해야할 때 WPF보다 Winforms가 더 빨리 개발할 수 있다
.WindowsPresentationFoundation장점
A. 비교적(!) 최신 기술이기 때문에 최근 기준들에 부합한다.디자인 화면은 xml기반으로 소스를 비하인드로 넘기는 것은 android 등과 매핑된다
B. Microsoft에서 출시하는 새로운 응용프로그램은 WPF를 사용하여 개발된다.최신 Visual Studio(2015,2017,2019등)
C. 더 유연한 디자인으로 새로운 컨트롤을 구매하지 않아도 직접 제작이 가능하다 (단,디자인 감각이 있어야 함)
D. XAML은 GUI제작 및 편집에 용이하고,디자이너의 업무와 프로그래머의 업무를 분리하여 작업할 수 있다
E. 하드웨어 가속장치로 GUI를 그리기 때문에 더 나은 성능을 제공한다
F. Windows기반 프로그램과 Web기반 프로그램 모두의 사용자 인터페이스를 제작할 수 있다 (Silverlight/XBAP)
개발 IDE
1. VisualStudioCommunity2019
Winform 템플릿 소스
1. WPF해결책
A. 웹 개발시 HTML과 비즈니스 로직 분리 작업과 동일한 접근 방식 채택
B. 화면 개발(디자이너)XAML,비즈니스 로직(개발자)C#
===============================================================
강의를 들었지만 뭔 말인지 모르겠다(강사님 죄송합니다,,)
나머진 생략하고 Hello World를 출력해보자. 제일 먼저 개발툴인 VS2019를 실행시켜보자
도구 상자에서 버튼을 실행 화면에 배치한다음에 더블클릭을해보자(이벤트를 구현해보자)
using System.Windows;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hello World!!"); // 이거만 입력하면된다
}
}
}
오늘 WPF는 30분 정도밖에 강의를 듣지 못했으므로 더 자세한 내용은 내일로 패쓰합니다.