|
XAML¤ÏWPF¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¤Ë¤ª¤¤¤Æ¡¢UI¤Î¥Ç¥¶¥¤¥ó¤äÊ£¿ô¤Î¥³¥ó¥È¥í¡¼¥ë¤Ê¤É¤ÇÍøÍѤ¹¤ëÇØ·Ê¥Ç¥¶¥¤¥ó¤Ê¤É¤ò¤Þ¤È¤á¤¿ResourceDictionary¤òµ½Ò¤¹ºÝ¤ËÍøÍѤ¹¤ë¥Þ¡¼¥¯¥¢¥Ã¥×¸À¸ì¤Ç¤¹¡£
Ëܵ»ö¤Ç¤Ï¡¢Ä̾¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤Ë¤ÏÄɲäǤ¤Ê¤¤ResourceDictionary¤Ê¤É¤ÎXAMLÄêµÁ¥Õ¥¡¥¤¥ë¤òÄɲä·¡¢¤Þ¤¿¤³¤ì¤òUserControl¤ÎXAML¤«¤éÍøÍѤ·¤¿¤ê¡¢C#¤Î¥³¡¼¥É¾å¤ÇResourceDictionary¤ò¥í¡¼¥É¤¹¤ëÊýË¡¤ò¾Ò²ðÃפ·¤Þ¤¹¡£ ¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤ÇXAML¤òµ½Ò¤¹¤ëVisual Studio¤Ç¥×¥í¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ëºÝ¡¢¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤òÁªÂò¤¹¤ë¤ÈÄɲùàÌܤΰìÍ÷¤Ë¡ÖResourceDictionary¡×¤Î¹àÌܤ¬É½¼¨¤µ¤ì¤Þ¤»¤ó¡£¿Þ1 ¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤ÇÄɲòÄǽ¤ÊWPF´ØÏ¢¹àÌÜ
¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤È¤·¤ÆºîÀ®¤·¤¿¥×¥í¥¸¥§¥¯¥È¤È¤ÏÊ̤ˡÖWPF¥¢¥×¥ê¡×¤È¤·¤Æ¥½¥ê¥å¡¼¥·¥ç¥ó¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤ÇºîÀ®¤·¤¿ResourceDictionary¤ÎXAML¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ëÊýË¡¤Ê¤É¤â¤¢¤ë¤«¤È»×¤¤¤Þ¤¹¡£ Ëܵ»ö¤Ç¤Ï¡¢¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥×¥í¥¸¥§¥¯¥È¤ËÄɲä·¤¿¹àÌܤòResourceDictionary¤Ê¤É¤òÄêµÁ²Äǽ¤ÊXAML¤Î¹àÌܤØÊѹ¹¤¹¤ëÊýË¡¤ò¤´¾Ò²ðÃפ·¤Þ¤¹¡£ (1)»²¾È¤ÎÄɲÃResourceDictionary·¿¤ò¤Ï¤¸¤á¤È¤¹¤ëWPF´ØÏ¢¤Î·¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¢¥»¥ó¥Ö¥ê¤ä¡¢XAML¤ò°·¤¦¾å¤ÇɬÍ×¤Ë¤Ê¤ë³Æ¼ïµ¡Ç½¤òÄ󶡤·¤Æ¤¯¤ì¤ë¥¢¥»¥ó¥Ö¥ê¤ò»²¾È¤ËÄɲ乤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£°Ê²¼¤Î¹àÌܤò¥×¥í¥¸¥§¥¯¥È¤Î»²¾È¤ËÄɲ䷤Ʋ¼¤µ¤¤¡£
(2)¥Õ¥¡¥¤¥ë¤ÎÄɲÿÞ2 ¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÄɲÃ
¤Þ¤º¡¢¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤Î¥×¥í¥¸¥§¥¯¥È¤Ø¡Ö¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¡×¤òÄɲä·¤Þ¤¹¡£ ¤½¤ÎºÝ¡¢¥Õ¥¡¥¤¥ë̾¤ò¡Ö***.xaml¡×¤È¤¤¤¦·Á¤Ç³ÈÄ¥»Ò¤ò¡Öxaml¡×¤Ë¤·¤Þ¤¹¡£ ¿Þ3 ̵¸ú¤Ê¥Þ¡¼¥¯¥¢¥Ã¥×
Äɲ乤ë¤È¡¢¡Ö̵¸ú¤Ê¥Þ¡¼¥¯¥¢¥Ã¥×¡×¤È¤¤¤¦¥¨¥é¡¼¤¬¥Ç¥¶¥¤¥ó²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ ³ÈÄ¥»Ò¤ò¡Ötxt¡×¤Î¤Þ¤ÞÄɲä·¤¿¾ì¹ç¡¢Ä̾ï¤Î¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¥â¡¼¥É¤Ç¥Õ¥¡¥¤¥ë¤¬³«¤«¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ ¤½¤ÎºÝ¤Ï¡¢³ÈÄ¥»Ò¤ò½¤Àµ¤·¤¿¸å¡¢¹àÌܤΥץí¥Ñ¥Æ¥£¤ò°Ê²¼¤Ë¼¨¤·¤¿¿Þ¤Î¤è¤¦¤ËÊѹ¹¤·¤Æ²¼¤µ¤¤¡£ ¿Þ4 XAML¹àÌܤΥץí¥Ñ¥Æ¥£
ɽ1 XAML¥Õ¥¡¥¤¥ë¤È¤·¤Æ°·¤ï¤»¤ë¤¿¤á¤Î¥Õ¥¡¥¤¥ë¤Î¥×¥í¥Ñ¥Æ¥£ÃÍ
¶ñÂÎŪ¤Ë¤Ï¡¤Visual Studio¤ÇÊÔ½¸¤¹¤ëºÝ¤Ï¡¤XAMLÀìÍѤΥ⡼¥É¤Ç³«¤«¤ì¡¤¤Þ¤¿¡¤¥Ó¥ë¥É»þ¤Ë¤ÏXAML¤ÎÄêµÁ¥Ç¡¼¥¿¤È¤·¤ÆÀµ¤·¤¯¥Ó¥ë¥É¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
(4)XAML¤Îµ½Ò¤¢¤È¤Ï¡¢Ä̾ïÄ̤êResourceDictionary¤òÄêµÁ¤·¤Æ¤¤¤¤Þ¤¹¡£¿Þ5 XAML¤Ë¤è¤ëResourceDictionary¤Îµ½Ò
¡Ú²òÀâ¡Û¥Ó¥ë¥É ¥¢¥¯¥·¥ç¥ó¡ÖPage¡×¿Þ4¤Ë¼¨¤·¤¿¤È¤ª¤ê¡¢XAML¥Õ¥¡¥¤¥ë¤Î¥Ó¥ë¥É¥¢¥¯¥·¥ç¥ó¤Ï¡ÖPage¡×¤ËÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤³¤ÎPage¤Ë¤Ä¤¤¤Æ²òÀâ¤ò¤Ð¡£ XAML¤Îµ½Ò¤Ë¤è¤Ã¤ÆÄêµÁ¤µ¤ì¤¿¥Ç¡¼¥¿¤Ï¡¢¥Ó¥ë¥É»þ¤ËÆÃ¼ì¤Ê½èÍý¤¬¹Ô¤ï¤ì¤Þ¤¹¡£ ¿Þ6 XAML¤Î°·¤¤
XAML¥Õ¥¡¥¤¥ë¤ÏÄ̾ï¤ÎC#¥³¡¼¥É¤È¤Ï°ã¤¤¡¢IL¥³¡¼¥É¤Ë¤ÏÊÑ´¹¤µ¤ì¤Þ¤»¤ó¡£½ÐÎϤµ¤ì¤¿¥¢¥»¥ó¥Ö¥ê¤òildasm¤ÇÄêµÁ¤·¤¿ResourceDictionary¤Ê¤É¤òõ¤·¤Æ¤ß¤ë¤È¡¢¥¯¥é¥¹¤È¤·¤Æ°·¤ï¤ì¤Æ¤¤¤Ê¤¤¤Î¤¬¤ï¤«¤ë¤«¤È»×¤¤¤Þ¤¹¡£ ¢¨UserControl¤äWindow¤Ê¤É¤ÎXAMLÄêµÁ¤Ï¥í¡¼¥ÉÍÑ¡¦¥³¡¼¥Éµ½ÒÍѤΥ¯¥é¥¹¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ XAML¤Ï¥Ó¥ë¥É»þ¤Ë¡ÖBAML¡×¤È¤¤¤¦XAML¤òÆÉ¤ß¹þ¤ß¤ä¤¹¤¯¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿²½¤·¤¿¤â¤Î¤ËÊÑ´¹¤µ¤ì¡¢½ÐÎϤµ¤ì¤ë¥¢¥»¥ó¥Ö¥ê¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£ ¤½¤ÎºÝÊÑ´¹¸µ¤È¤Ê¤Ã¤¿XAML¥Õ¥¡¥¤¥ë¤Ë´ð¤Å¤¡¢BAML¥Ç¡¼¥¿¤Ë¤â¼±ÊÌ̾¤¬¿¶¤é¤ì¤ë¤è¤¦¤Ç¤¹¡£¤³¤ì¤Ï¼Â¹Ô»þ¤ËBAML¤«¤é¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤¹¤ëºÝ¤ËÍøÍѤ·¤Þ¤¹¤¬¡¢¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤·¤Þ¤¹¡£ ¤É¤¦¤ä¤é¡¢¤½¤Î¡ÖBAML¤ØÊÑ´¹¡¤Ê¤ӤËBAML¥Ç¡¼¥¿¤Î¥¢¥»¥ó¥Ö¥ê¤Ø¤ÎËä¤á¹þ¤ß¡×¤È¤¤¤¦»Ø¼¨¤òɽ¤·¤Æ¤¤¤ë¤Î¤¬¥Ó¥ë¥É¥¢¥¯¥·¥ç¥ó¡ÖPage¡×¤Î¤è¤¦¤Ç¤¹¡£ ¤ä¤ä¸¡¾ÚÉÔµ¤Ì£¤Ç¤¹¤¬¡£¡£ ¤ä¤ä;Ã̤Ǥ¹¤¬¡¢XAML¤ÈBAML¡¢¼Â¹Ô»þ¤ËÀ¸À®¤µ¤ì¤ë¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¼¡¤Î¤è¤¦¤Ê½èÍý´Ø·¸¤Ë¤Ê¤ê¤Þ¤¹¡£ ¿Þ7 XAML¡¢BAML¡¢¥¤¥ó¥¹¥¿¥ó¥¹¤Î´Ø·¸
XAML¥Ç¡¼¥¿¤ò¥Õ¥¡¥¤¥ë¤Ê¤É¤ÎStream¤«¤éÆÉ¤ß¹þ¤ó¤Ç¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤¹¤ë¡ÖXamlReader¡×¤È¤¤¤¦¥¯¥é¥¹¤¬¼Â¤Ï¸ºß¤·¤Æ¤ª¤ê¤Þ¤¹¡¥ ¤·¤«¤·¸å¤Ç¤â¿¨¤ì¤Þ¤¹¤¬¡¤XAML¤Ê¤É¤ò¤Ï¤¸¤á¤È¤¹¤ëXML¥Ç¡¼¥¿¤Î¥Ñ¡¼¥¹µÚ¤Ó¥í¡¼¥É¤Ë¤Ï¼Â¹Ô¥³¥¹¥È¤¬È¯À¸¤·¤Þ¤¹¡¥
¥Ó¥ë¥É»þ¤Ëͽ¤á¡¤XAML¤òÆÉ¤ß¹þ¤ß¤ä¤¹¤¤BAML¤ËÊÑ´¹¤¹¤ë¤³¤È¤Ç¡¤¼Â¹Ô»þ¤Ë;·×¤Ê¥í¡¼¥É¥³¥¹¥È¤¬È¯À¸¤¹¤ë¤³¤È¤òËɤ¤¤Ç¤¤¤ë¤è¤¦¤Ç¤¹¡¥
XAML¤òC#¥³¡¼¥É¤ËÊÑ´¹¤·¤Æ¡¤¤½¤Î¤¢¤È¤ËÄ̾ï¤Î¥³¡¼¥É¤È°ì½ï¤ËIL¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤è¤¦¤Ê»ÅÁȤߤò¼è¤Ã¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¤¤½¤¦¤Ç¤Ï¤Ê¤«¤Ã¤¿¤ó¤Ç¤¹¤Í¡¥¡¥¡¥
XAML¤òÍøÍѤ¹¤ë¡ÊXAML¡ËUserControl¤Ê¤É¤ÎXAML¤Ç¡¢ÄêµÁ¤·¤¿ResourceDictionary¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï¿Þ7¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡£¿Þ8 ResourceDictionary¤Î»²¾È
ResourceDictionary¤Î¥×¥í¥Ñ¥Æ¥£¡ÖSource¡×¤ËXAML¤ÎUri¤ò»ØÄꤹ¤ë¤³¤È¤Ç»²¾È¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ XAML¤ÎUri¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖXAML¤ò»²¾È¤¹¤ëºÝ¤ÎUri¤Ë¤Ä¤¤¤Æ¡×¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¥½¥ê¥å¡¼¥·¥ç¥ó¤ò¥Ó¥ë¥É¤¹¤ë¤Þ¤Ç¤Ï¡¢ResourceDictionary¤ÎÄêµÁÆâÍÆ¤¬UserControl¤Î¥Ç¥¶¥¤¥Ê¤ËÈ¿±Ç¤µ¤ì¤Ê¤¤¾ì¹ç¤¬¤´¤¶¤¤¤Þ¤¹¡£ ¤¹¤Ç¤ËUserControlÆâ¤ÇÄêµÁ¤·¤¿ResourceDictionary¤È¹ç¤ï¤»¤ÆÍøÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢¿·¤·¤¯ResourceDictionary¤òºîÀ®¤·¡¢MergedDictionaries¤ÇÄɲ䷤Ƥ¢¤²¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦¡£ ¿Þ9 UserControl¤ÇÄêµÁ¤·¤¿ResourceDictionary¤È¹ç¤ï¤»¤ÆÍøÍѤ¹¤ë
XAML¤òÍøÍѤ¹¤ë¡ÊC#¥³¡¼¥É¡ËXAML¤ÇÄêµÁ¤·¤¿ResourceDictionary¤Ê¤É¤òC#¤Î¥³¡¼¥É¾å¤ÇÍøÍѤ·¤¿¤¤¾ì¹ç¤Ï¡¢¤Þ¤º¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥¿¥ó¥¹¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥í¡¼¥É¤Ï¡¢ System.Windows.Application ̾Á°¶õ´Ö¤Î LoadComponent ¥á¥½¥Ã¥É¤òÍøÍѤ·¤Þ¤¹¡£ ¿Þ10 LoadComponent¤ÎÍøÍÑ
Application.LoadComponent(new Uri("SampleClassLibrary;component/sampleresources.xaml", UriKind.Relative)); LoadComponent¥á¥½¥Ã¥É¤Ï»ØÄꤷ¤¿Uri¤ÎXAML¤ò¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥¿¥ó¥¹²½¤·¤Æ¤¯¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£ Ìá¤êÃͤÏObject·¿¤Ë¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¤¬¡¢Î㤨¤Ð¡¢ResourceDictionary¤òÄêµÁ¤·¤¿XAML¤ò¥í¡¼¥É¤·¤¿¾ì¹ç¤Ï¡¢¤½¤Î¤Þ¤ÞResourceDictionary¤Ë¥¥ã¥¹¥È¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤³¤Î¤È¤»ØÄꤹ¤ëUri¤Ë¤Ä¤¤¤Æ¤Ï¡¢¸å½Ò¤Î¡ÖXAML¤ò»²¾È¤¹¤ëºÝ¤ÎUri¤Ë¤Ä¤¤¤Æ¡×¤ò¤´Í÷¤¯¤À¤µ¤¤¡£ ¡Ú²òÀâ¡ÛXAML¤ò»²¾È¤¹¤ëºÝ¤ÎUri¤Ë¤Ä¤¤¤ÆXAML¤ÎÄêµÁ¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢XAML¤ÎUri¤ò»ØÄꤷ¤Æ¡¢¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£Uri¤ÏÄ̾ïWeb¾å¤Î¥³¥ó¥Æ¥ó¥Ä¤ä¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤Ê¤É¤ò»ØÄꤹ¤ëºÝ¤ËÍѤ¤¤ë·¿¤Ç¤¹¤¬¡¢¤É¤¦¤âWPF¤Ç¤Ï¥¢¥»¥ó¥Ö¥êÆâ¤Ë³ÊǼ¤µ¤ì¤¿ÆÃ¼ì¤Ê¥ê¥½¡¼¥¹¤ò»²¾È¤¹¤ëºÝ¤Ë¤âÍøÍѲÄǽ¤Ê¤è¤¦¤Ç¤¹¡£ ¤½¤ÎºÝ¤ÎUri¤Ïʸ»úÎ󤫤é½é´ü²½¤·¤Þ¤¹¤¬¡¢¹½Ê¸¤Ï¼¡¤Î¤È¤ª¤ê¡£ [¥¢¥»¥ó¥Ö¥ê̾];component/[¥×¥í¥¸¥§¥¯¥ÈÆâ¤Ç¤Î¥Ñ¥¹(¤¹¤Ù¤Æ¾®Ê¸»ú¤Ç)] ¥¢¥»¥ó¥Ö¥ê̾¤Ï¡¢¶²¤é¤¯½ÐÎÏ¥¢¥»¥ó¥Ö¥ê¥Õ¥¡¥¤¥ë̾¤«¥×¥í¥¸¥§¥¯¥È̾¤¬¤³¤ì¤Ë³ºÅö¤¹¤ë¤Î¤Ç¤¹¤¬¡¢Ä̾ï¤Ï¤³¤Î2¤Ä¤Ï°ìÃפ¹¤ë¤¿¤á¡¢¤É¤Á¤é¤¬Àµ²ò¤«¤Ï̤¸¡¾Ú¤Ç¤¹¡£ ¤Þ¤¿¡¢¥×¥í¥¸¥§¥¯¥ÈÆâ¤Ç¤Î¥Ñ¥¹¤â¼ÂºÝ¤Îcsproj¥Õ¥¡¥¤¥ë¤«¤é¤ÎÁêÂХѥ¹¤Ë¤Ê¤ë¤Î¤«¡¢¤¢¤ë¤¤¤ÏcsprojÆâ¤Ç¤ÎÏÀÍý¥Ñ¥¹¤Ë¤Ê¤ë¤Î¤«¤Ï̤¸¡¾Ú¤Ç¤¹¡£´û¸¤ÎXAML¥Õ¥¡¥¤¥ë¤ò¥ê¥ó¥¯¤Ç¼è¤ê¹þ¤ó¤ÀºÝ¤ÏÃí°Õ¤¬É¬ÍפǤ¹¡£ Uri¤ÎÎãÁ°½Ò¤Î¥µ¥ó¥×¥ë¡ÖSampleClassLibrary¡×¤Ç¤Ï¥×¥í¥¸¥§¥¯¥È¤Î¥ë¡¼¥È¤Ë¡ÖSampleResources.xaml¡×¤òÄɲä·¤Þ¤·¤¿¡£¤³¤ì¤ò»²¾È¤¹¤ëºÝ¤ÎUri¤Ï SampleClassLibrary;component/sampleresources.xaml¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢¥×¥í¥¸¥§¥¯¥ÈÆâ¤Ç¡ÖSampleDir¡×¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë¡ÖHoge.xaml¡×¤òÄêµÁ¤·¤¿¾ì¹ç¤ÎUri¤Ï SampleClassLibrary;component/sampledir/hoge.xaml¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ÎÊդϡ¢Ä̾ï¤ÎUserControl¤ËÂФ·¤ÆVisualStudio¤¬¼«Æ°À¸À®¤·¤¿¥é¥Ã¥Ñ¥¯¥é¥¹¤ÎÃæ¿È¤ò¸«¤¿¤À¤±¤Ê¤Î¤Ç¡¢¤â¤Ã¤È¿¼¤¯Ä´¤Ù¤ëɬÍפ¬¤¢¤ê¤½¤¦¤Ç¤¹¤Í¡£ ;ÃÌ¡ÖControlTemplate¤òXAML¤ÇÄêµÁ¤·¤Æ¤ß¤¿¡×¥³¡¼¥É¤«¤é»²¾È¤·¤ÆÍøÍѤ¹¤ë¾ì¹ç¡¢ResourceDictionary°Ê³°¤Ç¤âXAML¤ËÄêµÁ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¿Þ11 ControlTemplate¤òÄêµÁ¤·¤Æ¤ß¤¿Îã
ControlTemplate¤Ï¡¢XAML¤Çµ½Ò¤¹¤ë¾ì¹ç¡¢XAML¤«¤é¤Î¥í¡¼¥É¤ÎÅÔ¹ç¤â¤¢¤ê¡¢Ä̾ï¤ÏResourceDictionaryÆâ¤ÇÄêµÁ¤·¤Þ¤¹¤¬¡¢ControlTemplate¤ò¥³¡¼¥É¤«¤é¸Æ¤Ó½Ð¤·¤ÆÍøÍѤ·¤¿¤¤¾õ¶·¤¬È¯À¸¤·¤Þ¤·¤¿¤Î¤Ç¡¢ResourceDictionary¤ò¾Êά¤·¤ÆÄ¾ÀÜÄêµÁ¤·¤Æ¤ß¤Þ¤·¤¿¡£ Àµ¹¶Ë¡¤È¤Ï¸À¤¨¤Ê¤¤¤Ç¤·¤ç¤¦¤¬¡¢ControlTemplate¤òľÀÜXAML¤ÇÄêµÁ¤¹¤ë¤È¡¢¥Ç¥¶¥¤¥Ê¤¬»Å»ö¤ò¤·¤Æ¤¯¤ì¤ë¤ó¤Ç¤¹¤Í¡£ÊØÍø¤«¤â¡Ê¡©¡Ë ¤Á¤Ê¤ß¤Ë¡¢¥µ¥ó¥×¥ë¥¤¥á¡¼¥¸¤ÎÇÛ¿§¤¬The¥É¥¤¥Ä¹ñ´ú¤Ã¤Æ´¶¤¸¤Ç¤¹¤¬¡¢¼Â¸³ÍѤˤ狼¤ê¤ä¤¹¤¤ÇÛ¿§¤¬¤Ê¤¤¤«¹Í¤¨¤¿¤é¶öÁ³¥É¥¤¥Ä¹ñ´ú¤¬Æ¬¤ò¤è¤®¤Ã¤¿¤À¤±¤Ç¤¹¡£ ¥É¥¤¥Ä¹ñ´ú¥·¥ó¥×¥ë¤Ç¤«¤Ã¤³¤¤¤¤¤Ç¤¹¤±¤É¡¢¤½¤ì¤ò¥¤¥«¤·¤¿UI¤Ë³èÍѤ¹¤ë¤À¤±¤Î¥Ç¥¶¥¤¥óÎϤÏËͤˤϤ¢¤ê¤Þ¤»¤ó¡£ ¤¢¡¢¤Á¤Ê¤ß¤Ë¥É¥¤¥Ä¹ñ´ú¤Î3¿§¤Î¤¦¤Á°ìÈÖ²¼¤ÎÉôʬ¤Ã¤Æ²«¿§¤¸¤ã¤Ê¤¯¤ÆÀµ³Î¤Ë¤Ï¶â¿§¤ß¤¿¤¤¤Ç¤¹¤Í¡£ ;ÃÌ¡ÖApplication.LoadComponent¤ÈXamlReader¡×¤Ö¤Ã¤Á¤ã¤±´èÄ¥¤Ã¤ÆBAML¤È¤·¤Æ¥¢¥»¥ó¥Ö¥ê¤ËÁÞÆþ¤µ¤»¤ë¤³¤È¤Ë¤³¤À¤ï¤é¤º¤È¤â¡¢¥ê¥½¡¼¥¹¤È¤·¤Æ¤Ö¤Á¤³¤ó¤ÀXAML¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô»þ¤ËXamlReader¤ÇLoad¤·¤Á¤ã¤¦¤Ê¤ó¤Æ¼ê¤â¤Ê¤¯¤Ï¤Ê¤¤¤Ç¤¹¡£¤È¤¤¤¦¤«¡¢¤³¤ÎÊýË¡¤ò»×¤¤¤Ä¤«¤Ê¤«¤Ã¤¿»þ¤Ï¡¢¤½¤¦¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¤·¤«¤·¡¢Ä̾ï¤Î¥ê¥½¡¼¥¹¤È¤·¤ÆXAML¥Ç¡¼¥¿¤òźÉÕ¤·¤¿¾ì¹ç¡¢¼ã´³¤Á¤ã¤ó¤ÈBAML¤ËÊÑ´¹¤µ¤»¤¿¤È¤¤è¤ê¤â»þ´Ö¤¬¤«¤«¤ë¤è¤¦¤Ç¤¹¡£ ¤½¤é¤½¤¦¤Ç¤¹¤è¤Í¡£ BAML¤Ã¤Æ¤Î¤Ï¥Ó¥ë¥É»þ¤ËXAML¤òÆÉ¤ß¹þ¤ó¤ÇºÇŬ²½¤·¤¿·ë²Ì¤Ê¤Î¤Ç¤¹¤«¤é¡£ ¤¢¤È¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬ÊѤï¤ê¤Þ¤¹¡£ BAML¤Î¤Û¤¦¤¬¥Õ¥¡¥¤¥ë¥µ¥¤¥º¾®¤µ¤¤¤Ç¤¹¡£ ¥ê¥½¡¼¥¹¤È¤·¤ÆXAML¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¤ÈXAML¤Î¥½¡¼¥¹¤¬¤½¤Î¤Þ¤Þ½ÐÎÏ¥Õ¥¡¥¤¥ëÆâ¤Ë¼è¤ê¹þ¤Þ¤ì¤Þ¤¹¡£ ¥Æ¥¥¹¥È¥¨¥Ç¥£¥¿¤Ç¥Ð¥¤¥Ê¥ê¤òį¤á¤ë¤È¤¤¤¦°ÕÌ£ÉÔÌÀ¤Ê½¬À¤ò»ý¤Ã¤Æ¤¤¤ëËͤÈÃפ·¤Þ¤·¤Æ¤Ï¡¢°µÅÝŪ¤ËBAML¤Î¤Û¤¦¤¬¤«¤Ã¤³¤¤¤¤¥Ð¥¤¥Ê¥ê¤Ë¤Ê¤ê¤Þ¤¹¡Ê°ÕÌ£ÉÔÌÀ¡Ë ¤Ç¤Ï¡£ |
Á´ÂÎɽ¼¨
[ ¥ê¥¹¥È ]





