Àü¸é Ä÷¯ ÆíÁý! WPF º£½ºÆ®¼¿·¯! 18ȸ Á¹Æ®»ó Å×Å©´ÏÄà ºÏ ÆÄÀ̳θ®½ºÆ® ¼±Á¤!
WPF´Â ´å³Ý ÇÁ·¹ÀÓ¿öÅ© 3.0/3.5ÀÇ ÇÙ½É Áß ÇϳªÀ̸ç, ¿©·¯ºÐÀÌ »ó»óÇÏ´Â ¸ðµç °ÍÀ» ÇÁ·Î±×·¥À¸·Î ±¸ÇöÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ±âÁ¸ ÀÀ¿ëÇÁ·Î±×·¥À» º¸´Ù ´õ ¸Å·ÂÀûÀ¸·Î º¯È½Ãų »Ó¸¸ ¾Æ´Ï¶ó ¿Àµð¿À/ºñµð¿À, 3D, µ¿Àû ½ºÅ°´×, µµÅ¥¸ÕÆ® Áö¿ø, À½¼º ÀÎ½Ä µî Áö±Ý±îÁö ÀÏ¹Ý °³¹ßÀÚµéÀÌ Á¢Çϱ⠾î·Á¿ü´ø ºÎºÐµé°úµµ ½±°Ô ÅëÇյǾî ÀÖ´Ù.¡ºWPF ¾ð¸®½¬µå¡», ÀÌ Ã¥¿¡´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ½ÇÁ¦ ´å³Ý ÇÁ·¹ÀÓ¿öÅ© ÇÙ½É °³¹ßÀÚÀÌÀÚ ÃÖ°íÀÇ °³¹ßÀÚÀÎ ¾Ö´ý ³×À̼±ÀÇ ¸ðµç ³ëÇÏ¿ì¿Í Áö½ÄÀÌ ´ã°Ü ÀÖ´Ù. µû¶ó¼ ±× ¾î¶² WPF ¼Àûº¸´Ùµµ ÀÌÇØÇϱ⠽¬¿ì¸ç, ½Ç¹«¿¡ °ð¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ÁÁÀº ¿¹Á¦µéÀ» Á¦°øÇÏ°í ÀÖ´Ù.
¾Ö´ý ³×À̼±(Adam Nathan)Àº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® °³¹ßºÎÀÇ ¼±ÀÓ°³¹ß¿¬±¸¿øÀ̸ç, 2002³â Sams¿¡¼ ¹ß°£µÈ ¡º.Net and Com: The Complete Interoperability Guide¡»¸¦ Æ÷ÇÔÇÏ¿© ¿©·¯ Ã¥µéÀ» ÁýÇÊÇÏ¿´´Ù. ¾Ö´ýÀº Á¤±âÀûÀ¸·Î °³¹ßÀÚ ÄÁÆÛ·±½º¿¡ Âü°¡Çϰųª ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® »ç³»¿¡¼ ´å³Ý ÇÁ·¹ÀÓ¿öÅ©¿Í °ü·ÃÇÑ ´Ù¾çÇÑ ÁÖÁ¦·Î °¿¬À» ÇÑ´Ù. ¾Ö´ýÀº 1999³â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® CLR(Common Language Runtime) ÆÀ¿¡¼ °³¹ßÀ» ½ÃÀÛÇÑ ÀÌÈÄ, ´å³ÝÀÌ Áö¼ÓÀûÀ¸·Î ¹ßÀüÇÏ´Â µ¥ ÇÙ½ÉÀûÀÎ ¿ªÇÒÀ» ¼öÇàÇØ ¿Ô´Ù. ¶ÇÇÑ ±×´Â PINVOKE.NETÀ̳ª CLRSPYó·³ ´å³Ý °³¹ßÀڵ鿡°Ô À¯¿ëÇÑ À¯Æ¿¸®Æ¼¸¦ ¸¸µé¾î ¹èÆ÷Çϱ⵵ ÇÏ°í, XAMLshare.com¿¡¼ XAML¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇÏ°í ÀÖ´Ù.
* XAML¿¡ ´ëÇؼ ¾Ë¾Æ¾ß ÇÏ´Â ¸ðµç ³»¿ëµéÀ» È¿°úÀûÀ¸·Î ´Ù·é´Ù.
* ÄÁÆ®·Ñ, ȸé¹èÄ¡, ¸®¼Ò½º, µ¥ÀÌÅÍ ¹ÙÀεù, ½ºÅ¸ÀÏ, ±×·¡ÇÈ, ¾Ö´Ï¸ÞÀÌ¼Ç µî WPF°¡ »ç¿ëµÇ´Â ´ëºÎºÐÀÇ ¿µ¿ªÀ» ´Ù·é´Ù.
*WPF 3D °³¹ßÆÀÀÇ ¼±ÀÓ°³¹ßÀÚÀÎ ¸£Çî ¹Ù¿ì¾î°¡ 3D ±×·¡ÇÈ ºÎºÐÀ» Á÷Á¢ ¼³¸íÇÑ´Ù.
* »ç¿ëºóµµ°¡ ³·Àº ½ºÇÇÄ¡, ¿Àµð¿À/ºñµð¿À, µµÅ¥¸ÕÆ®, ºñÆ®¸Ê È¿°ú µîµµ ´Ù·é´Ù.
* °¶·¯¸®, ½ºÅ©¸°ÆÁ, »ç¿ëÀÚÁöÁ¤ ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÑ È¸é¹èÄ¡ µî ¿ÀÇǽº 2007¿¡¼ »õ·Ó°Ô ¼Ò°³µÇ´Â ȸé UI¸¦ ½ÇÁ¦ °³¹ßÇغ»´Ù.
* ºñÁÖ¾ó ½ºÆ©µð¿Àó·³ ´Ù¼Ò º¹ÀâÇÏÁö¸¸ Æí¸®ÇÑ UI¸¦ WPFÀÇ ÄÁÆ®·Ñ·Î ÀÛ¼ºÇØ º»´Ù.
* WPF·Î ±¸Çö °¡´ÉÇÑ ¸ðµç ÇÁ·Î±×·¥ÀÇ ÇüŸ¦ »ìÆ캸°í À̸¦ ±¸Á¶È ¹× ¹èÆ÷¿¡ ´ëÇÑ ¸ðµç ³»¿ëÀ» ´Ù·é´Ù. ¶ÇÇÑ, À©µµ¿ìÁî ºñ½ºÅ¸ÀÇ °¡Á¬Ã³·³ Ưº°ÇÑ UI¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥µµ °³¹ßÇغ»´Ù.
* WPF¸¦ ÀÌ¿ëÇؼ À¯¿ëÇÑ »ç¿ëÀÚÁöÁ¤ ÄÁÆ®·ÑÀ» ¸¸µé¾î º»´Ù.
*WPF¿Í Win32, À©Æû, ¾×ƼºêX µî ±âÁ¸ÀÇ ±â¼úµé°ú ÇÔ²² ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
* WPF¸¦ ÀÌ¿ëÇؼ À©µµ¿ìÁî ºñ½ºÅ¸¿¡ Æ¯ÈµÈ ÇÁ·Î±×·¥À» ¸¸µé¾î º»´Ù.
Ã¥ÀÇ ±¸¼º
WPF¿Í ´ë¾È±â¼úÀ» ºñ±³¼³¸íÇÏ°í, ¶ÇÇÑ ¾ðÁ¦ WPF¸¦ »ç¿ëÇÒÁö °áÁ¤ÇÏ´Â ´É·ÂÀ» Å°¿ï ¼ö ÀÖ°Ô µ½´Â´Ù. 2ÀåÀº ¿©·¯ºÐÀÌ ÀÌ Ã¥À̳ª ½ÇÁ¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ º¼ ¼ö ÀÖ´Â XAMLÀ» ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï XAMLÀÇ ±âÃÊÀûÀÎ ³»¿ëºÎÅÍ ½ÉÃþÀûÀÎ ºÎºÐ±îÁö ´Ù·é´Ù. 3ÀåÀº ´å³Ý °³¹ßÀڵ鿡°Õ ÀÌ¹Ì Àͼ÷ÇÑ °³³äµé°ú Â÷º°ÈµÇ´Â WPF¿¡¼ »õ·Ó°Ô ¼Ò°³µÇ´Â °³³äµéÀ» ¼³¸íÇÑ´Ù.
1ºÎ: ¹è°æÁö½Ä
ÀÌ Ã¥Àº WPF¿Í ´ë¾È±â¼úÀ» ºñ±³¼³¸íÇÏ°í, ¶ÇÇÑ ¾ðÁ¦ WPF¸¦ »ç¿ëÇÒÁö °áÁ¤ÇÏ´Â ´É·ÂÀ» Å°¿ï ¼ö ÀÖ°Ô µ½´Â´Ù. 2ÀåÀº ¿©·¯ºÐÀÌ ÀÌ Ã¥À̳ª ½ÇÁ¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ º¼ ¼ö ÀÖ´Â XAMLÀ» ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï XAMLÀÇ ±âÃÊÀûÀÎ ³»¿ëºÎÅÍ ½ÉÃþÀûÀÎ ºÎºÐ±îÁö ´Ù·é´Ù. 3ÀåÀº ´å³Ý °³¹ßÀڵ鿡°Õ ÀÌ¹Ì Àͼ÷ÇÑ °³³äµé°ú Â÷º°ÈµÇ´Â WPF¿¡¼ »õ·Ó°Ô ¼Ò°³µÇ´Â °³³äµéÀ» ¼³¸íÇÑ´Ù.
¢º 1Àå: ¿Ö WPF¸¦ »ç¿ëÇØ¾ß Çϴ°¡?
¢º 2Àå: XAML ½Åºñ¸¦ ¹þ´Ù.
¢º 3Àå: WPF¿¡¼ »õ·Ó°Ô ¼Ò°³µÇ´Â Áß¿äÇÑ °³³äµé
2ºÎ: WPF ÇÁ·Î±×·¥ ¸¸µé±â
2ºÎ¿¡¼´Â ÀÌÀü ÇÁ·Î±×·¥µéÀÌ ÇÏ´Â °Íó·³ ÇÁ·Î±×·¥À» ±¸Á¶ÈÇÏ°í ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ¹°·Ð, ºñÁ¤Çü À©µµ¿ì(non-rectangular window), ¿¡¾î·Î±Û·¡½º(Aeroglass), Çüź¯Çü(trans-formation)ó·³ ¿¹Àü ÇÁ·Î±×·¥¿¡¼ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê´Â ³»¿ëµéµµ ´Ù·é´Ù. 4Àå¿¡¼´Â ±âÁ¸ÀÇ ÄÁÆ®·Ñ°ú »õ·Ó°Ô Ãß°¡µÈ ÄÁÆ®·Ñ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÏ°í, ´ÙÀ½ µÎ ÀåÀº ÄÁÆ®·ÑÀ» ÀÌ¿ëÇؼ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º(UI)¸¦ ±¸¼ºÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. 7ÀåÀº ÀÌÀü Àå¿¡¼ ¹è¿î ³»¿ëµéÀ» ±¸Á¶ÈÇؼ ¿Ïº®ÇÑ ÇÁ·Î±×·¥À» ¸¸µé°í, À̸¦ ¹èÆ÷ÇÏ´Â °ÍÀ» ´Ù·é´Ù. 2ºÎÀÇ ³»¿ëµéÀº ÀÏ¹Ý ÇÁ·Î±×·¥°ú À¥ ÆäÀÌÁöó·³ ºê¶ó¿ìÀú¿¡¼ µ¿ÀÛÇÏ´Â ÇÁ·Î±×·¥ ¸ðµÎ ´Ù µ¿ÀÏÇÏ°Ô Àû¿ëµÈ´Ù.
¢º 4Àå: WPF ÄÁÆ®·Ñ ¼Ò°³
¢º 5Àå: ¿¤¸®¸ÕÆ®ÀÇ Å©±â ¹× À§Ä¡ Á¶Àý°ú Çüź¯Çü
¢º 6Àå: ÆгÎÀ» ÀÌ¿ëÇÑ È¸é¹èÄ¡
¢º 7Àå: ÇÁ·Î±×·¥ ±¸Á¶È¿Í ¹èÆ÷
3ºÎ: Àü¹®°³¹ßÀÚ¸¦ À§ÇÑ Æ¯Â¡µé
3ºÎ¿¡¼ ´Ù·ç´Â ³»¿ëµéÀº ÇÁ·Î±×·¥À» ¸¸µå´Â µ¥ Ç×»ó ÇÊ¿äÇÏÁö´Â ¾ÊÁö¸¸, °·ÂÇÑ ÇÁ·Î±×·¥À» Á¦ÀÛÇÒ ¼ö ÀÖ´Â ³»¿ëµé·Î ä¿öÁ® ÀÖ´Ù. ±×·¡¼ ¾ÈÁ¤ÀûÀÌ°í ¿À·ù°¡ ¾ø´Â ÇÁ·Î±×·¥À̳ª ÄÄÆ÷³ÍÆ® Á¦ÀÛÇÏ°íÀÚ ÇÏ´Â Àü¹®°³¹ßÀڵ鿡°Ô´Â ¹Ýµå½Ã ÇÊ¿äÇÑ ³»¿ëµéÀÌ´Ù.
¢º 8Àå: ¸®¼Ò½º
¢º 9Àå: µ¥ÀÌÅÍ ¹ÙÀεù
¢º 10Àå: ½ºÅ¸ÀÏ, ÅÛÇø´, ½ºÅ², Å׸¶
4ºÎ: ÃֽŠ¸®Ä¡¹Ìµð¾î¸¦ ¶Ù¾î³Ñ´Â ÇÁ·Î±×·¥ ¸¸µé
4ºÎ´Â WPFÀÇ Æ¯Â¡ Áß °¡Àå ÁÖ¸ñ¹ÞÀ» ¼ö ÀÖ´Â ³»¿ëµé·Î ±¸¼ºµÇ¾î ÀÖ´Ù. 2Â÷¿ø/3Â÷¿ø ±×·¡ÇÈ, ¾Ö´Ï¸ÞÀ̼Ç, ºñµð¿À µî ¾ÆÁÖ ¸Å·ÂÀûÀÎ °æÇèÀ» ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °ÍµéÀº ÀÌÀü ½Ã½ºÅÛ°ú WPF¸¦ ±¸º° Áþ´Â Ư¡ÀÌ´Ù. WPF´Â ¿¹Àüó·³ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÒ ¶§ »ý±â´Â ¾î·Á¿î ±â¼úÀû À庮À» ³·Ãß°í, ¿©·¯ºÐÀÌ ÀÌÀü¿¡ °æÇèÇÏÁö ¸øÇß´ø ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖµµ·Ï µ½´Â´Ù.
¢º 11Àå: 2D ±×·¡ÇÈ
¢º 12Àå: 3D ±×·¡ÇÈ
¢º 13Àå: ¾Ö´Ï¸ÞÀ̼Ç
¢º 14Àå: ¿Àµð¿À, ºñµð¿À, ½ºÇÇÄ¡, µµÅ¥¸ÕÆ®
5ºÎ: °í±Þ ÁÖÁ¦
5ºÎ´Â °í±Þ °³¹ßÀÚ³ª WPFÀÇ ÄÁÆ®·ÑÀ» ÀÚ½ÅÀÇ ÀÔ¸À¿¡ ¸Â°Ô ¼öÁ¤ÇÏ°í ½ÍÀº °³¹ßÀÚ¸¦ À§ÇÑ ÀåÀÌ´Ù. ½ºÅ¸ÀÏÀ» º¯°æÇÒ °æ¿ì ¸¹Àº ÄÚµù°ú º¹ÀâÇÑ °úÁ¤À» °ÅÃÄ¾ß Çϱ⠶§¹®¿¡ »ç¿ëÀÚÁöÁ¤ ÄÁÆ®·ÑÀ» ÅëÇÏ¿© À§ÀÇ °úÁ¤À» ÁÙÀÏ ¼ö ÀÖ´Ù.
¢º 15Àå: Win32, À©Æû, ¾×ƼºêX, WPFÀÇ »óÈ£¿î¿ë¼º
¢º 16Àå: »ç¿ëÀÚÁ¤ÀÇ ÄÁÆ®·Ñ°ú »ç¿ëÀÚÁöÁ¤ ÄÁÆ®·Ñ
¢º 17Àå: »ç¿ëÀÚÁöÁ¤ ÆгÎÀ» »ç¿ëÇÑ È¸é¹èÄ¡
|