๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/C#

[C#] WPF์— ๋Œ€ํ•œ ์ •๋ง ๊ฐ„๋‹จํ•œ ๊ฐœ๋…

by HanaV 2023. 7. 24.
728x90

WPF (Windows Presentation Foundation)

WPF๋Š” .NET ํ”„๋ ˆ์ž„์›Œํฌ์˜ GUI ๊ธฐ์ˆ ๋กœ, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
WPF๋Š” XAML (eXtensible Application Markup Language)์ด๋ผ๋Š” ๋งˆํฌ์—… ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•œ๋‹ค. XAML์€ XML ๊ธฐ๋ฐ˜์œผ๋กœ, ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด UI ๋””์ž์ธ๊ณผ ๋…ผ๋ฆฌ์ ์ธ ์ฝ”๋“œ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ๊ฐ€๋…์„ฑ์ด ํ–ฅ์ƒ๋˜๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•ด์ง„๋‹ค.
WPF์—์„œ๋Š” ๋‹ค์–‘ํ•œ ์ปจํŠธ๋กค(๋ฒ„ํŠผ, ํ…์ŠคํŠธ๋ฐ•์Šค, ๋ ˆ์ด๋ธ” ๋“ฑ)์„ ์‚ฌ์šฉํ•˜์—ฌ UI๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์Šคํƒ€์ผ๊ณผ ํ…œํ”Œ๋ฆฟ์„ ์ ์šฉํ•˜์—ฌ ๋””์ž์ธ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
-์Šคํƒ€์ผ๊ณผ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ UI ์š”์†Œ๋“ค์˜ ๋ฃฉ์•คํ•„ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
-๋‹ค์–‘ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ๊ทธ๋ž˜ํ”ฝ ๊ธฐ๋Šฅ์„ ์ง€์›
-๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ

 

MVVM ํŒจํ„ด

WPF์—์„œ๋Š” MVVM ํŒจํ„ด(Model - View - ViewModel)์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์กฐํ™”ํ•˜๋Š”๋ฐ, Model์€ ๋ฐ์ดํ„ฐ, View๋Š” UI, ViewModel์€ ๋ฐ์ดํ„ฐ์™€ UI๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. MVVM ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ๋”์šฑ ์ž˜ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ

WPF์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ํ†ตํ•ด UI ์š”์†Œ์™€ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ, ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜๋ฉด ViewModel์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ View์— ์ž๋™์œผ๋กœ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™

C#๊ณผ WPF๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค. ADO.NET์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜, Entity Framework๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90

"); wcs_do();