{"id":375,"date":"2007-06-06T14:36:00","date_gmt":"2007-06-06T14:36:00","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=375"},"modified":"2017-01-29T13:06:24","modified_gmt":"2017-01-29T04:06:24","slug":"%ec%97%90%eb%8b%88%eb%a9%94%ec%9d%b4%ec%85%98-i","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=375","title":{"rendered":"\uc2a4\ud1a0\ub9ac\ubcf4\ub4dc \uc5d0\ub2c8\uba54\uc774\uc158"},"content":{"rendered":"<p>WPF\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \ub80c\ub354\ub9c1\uc744 \uc804\ub2f4\ud558\ub294 \uc2a4\ub808\ub4dc\ub97c \uac00\uc9c0\uace0 \uc788\uc74c\uc73c\ub85c\ud574\uc11c \uc790\uccb4\uc801\uc778 \uc5d0\ub2c8\uba54\uc774\uc158 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uac00\uc9c4\ub2e4. \uc774\ubc88\uc5d0\ub294 WPF\uc758 \uc5d0\ub2c8\uba54\uc774\uc158 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uae30\ubc18\uc73c\ub85c \ud55c \uc791\uc740 \uc5d0\ub2c8\uba54\uc774\uc158 \uc0d8\ud50c\uc744 \ub9cc\ub4e4\uc5b4 \ubcf4\uace0\uc790 \ud55c\ub2e4.<\/p>\n<p>\ub9cc\ub4e4\uace0\uc790 \ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc740 \uc774\ub807\ub2e4. \ud654\uba74\uc0c1\uc5d0 Windows Vista \ubb38\uc7a5\uc744 \ub80c\ub354\ub9c1\ud558\uace0, &#8216;W&#8217;\ubb38\uc790\ubd80\ud130 \uc2dc\uc791\ud574\uc11c \ud55c\ubb38\uc790 \ud55c\ubb38\uc790\uc529 \uc6c0\uc9c1\uc774\ub294\ub370 \uc6c0\uc9c1\uc774\ub294 \ud615\ud0dc\ub294 \ud558\ub098\uc758 \ubb38\uc790\uac00 \uc544\ub798\ubc29\ud5a5\uc73c\ub85c \uc774\ub3d9\ud558\uace0 \ub2e4\uc2dc \uc6d0\ub798 \uc704\uce58\ub85c \ub3cc\uc544\uc624\ub294 \uac83\uc774\ub2e4. \uc5ec\uae30\uc5d0 \ub354\ud574\uc11c &lt;VisualBrush>\ub97c \uc774\uc6a9\ud574\uc11c \ub9c8\uce58 \ubb3c\uc704\uc5d0 \ube44\uce58\ub294 \ud6a8\uacfc\ub97c \ub123\uc5b4 \ub9c8\ubb34\ub9ac\ud558\uace0\uc790 \ud55c\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1149406075.png\" class=\"aligncenter\" width=\"490\" height=\"351\" alt=\"\" \/><\/p>\n<p style='text-align:center'><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1120945305.zip\"><img width='64' src='\/images\/download.svg' \/><\/a><\/p>\n<\/p>\n<p>WPF Window Application \uae30\ubc18\uc73c\ub85c \uae30\ubcf8\uc801\uc73c\ub85c XAML\uc740 &lt;Window>\ub85c \uc2dc\uc791\ud55c\ub2e4. \uc774 Element\uc548\uc744 \uc791\uc131\ud558\ub294 \uac83\uc774 \uc2dc\uc791\uc774\uc790 \uc885\ucc29\uc810\uc774\ub2e4. \uba3c\uc800 Window\uc758 \ubc30\uacbd\uc744 \uc124\uc815\ud574\ubcf4\uc790.<\/p>\n<pre>  <Window.Background> \r\n  <LinearGradientBrush StartPoint=\"0.5,0\" EndPoint=\"0.5,1\"> \r\n     <LinearGradientBrush.GradientStops> \r\n       <GradientStop Offset=\"0.0\" Color=\"Black\" \/> \r\n       <GradientStop Offset=\"1.0\" Color=\"#666666\" \/> \r\n     <\/LinearGradientBrush.GradientStops> \r\n  <\/LinearGradientBrush> \r\n  <\/Window.Background><\/pre>\n<p>\ubc30\uacbd\uc744 \uc704\uc5d0\uc11c \uc544\ub798\ubc29\ud5a5\uc73c\ub85c \uac80\uc815\uc0c9\uc5d0\uc11c \ud68c\uc0c9\uc73c\ub85c \uadf8\ub77c\ub514\uc5b8\ud2b8 \ucc44\uc6c0 \ud6a8\uacfc\ub97c \uc9c0\uc815\ud55c \uac83\uc774\ub2e4. \ub2e4\uc74c\uc73c\ub85c \uc8fc\uc778\uacf5\uc774 \uc704\uce58\ud560 \ucee8\ud14c\uc774\ub108\ub85c\uc368 &lt;Border>\uc744 \uc0ac\uc6a9\ud558\uba70 \uc8fc\uc778\uacf5\uc740 &lt;TextBlock>\uc774\ub2e4. \ub2e4\uc2dc &lt;Border>\ub294 &lt;StackPanel>\uc744 \ucee8\ud14c\uc774\ub108\ub85c \uc0ac\uc6a9\ub41c\ub2e4. &lt;StackPanel>\uc740 \ucd94\uac00\ud558\ub294 Item\uc744 \uc21c\uc11c\ub300\ub85c \ucc28\uace1\ucc28\uace1 \uc606\uc73c\ub85c, \ub610\ub294 \uc544\ub798\uc5d0 \uc704\uce58\ud558\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<pre>  <StackPanel Margin=\"40\"> \r\n  <Border Name=\"TextBorder\" HorizontalAlignment=\"Left\" \r\n     VerticalAlignment=\"Top\"> \r\n     <TextBlock \r\n       Name=\"RealText\" \r\n       FontFamily=\"Segoe UI\" \r\n       FontSize=\"60 px\" \r\n       Margin=\"40\" \r\n       Foreground=\"White\"> \r\n       Windows Vista \r\n     <\/TextBlock> \r\n  <\/Border> \r\n  <\/StackPanel><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1397186431.png\" class=\"aligncenter\" width=\"510\" height=\"375\" alt=\"\" \/><\/p>\n<p>&lt;Border> \uc5ed\uc2dc \ubc30\uacbd \ud6a8\uacfc\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub294\ub370, \uccb4\ud06c \ubb34\ub2ac\ub97c \ub123\uc5b4\ubcf4\ub3c4\ub85d \ud558\uc790. \uc815\uc801 \ub9ac\uc18c\uc2a4\uc5d0 \ubc14\uc778\ub529\uc2dc\ud0a4\ub294 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud558\uace0\uc790 \ud558\ub294\ub370 \uc815\uc801 \ub9ac\uc18c\uc2a4\ub97c \uc815\uc758\ud558\uae30\uc5d0 \uc55e\uc11c &lt;Border>\uc758 \ubc30\uacbd\uc744 \uc9c0\uc815\ud558\ub3c4\ub85d \uc218\uc815\ud558\uc790.<\/p>\n<pre>  <Border Name=\"TextBorder\" HorizontalAlignment=\"Left\" \r\n     VerticalAlignment=\"Top\" Background=\"{StaticResource MyWireBrushResource}\"><\/pre>\n<p>\uc6b0\ub9ac\uac00 \uc815\uc758\ud560 \uc815\uc801 \ub9ac\uc18c\uc2a4\uc758 \uc774\ub984\uc774 MyWireBrushResource \ub77c\ub294 \uac83\uc744 \uc54c \uc218 \uc788\ub2e4. \uc774\uc81c \uc774 \ub9ac\uc18c\uc2a4\ub97c \uc815\uc758\ud574\ubcf4\uc790.<\/p>\n<pre>  <Window.Resources> \r\n  <DrawingBrush x:Key=\"MyWireBrushResource\" \r\n  Viewport=\"0,0,10,10\" ViewportUnits=\"Absolute\" TileMode=\"Tile\"> \r\n    <DrawingBrush.Drawing> \r\n      <DrawingGroup> \r\n        <DrawingGroup.Children> \r\n          <GeometryDrawing Geometry=\"M0,0 L1,0 1,0.1, 0,0.1Z\" Brush=\"#66CCCCFF\" \/> \r\n          <GeometryDrawing Geometry=\"M0,0 L0,1 0.1,1, 0.1,0Z\" Brush=\"#66CCCCFF\" \/> \r\n        <\/DrawingGroup.Children> \r\n      <\/DrawingGroup> \r\n    <\/DrawingBrush.Drawing> \r\n  <\/DrawingBrush> \r\n  <\/Window.Resources><\/pre>\n<p>\uc774\ub807\uac8c \uc815\uc801 \ub9ac\uc18c\uc2a4\ub97c \ub9cc\ub4e4\uc5b4 \ub193\uc73c\uba74 \ub2e4\ub978 \uc5ec\ub7ec\uacf3\uc5d0\uc11c x:Key \uc18d\uc131\uac12\uc744 \ucc38\uc870\ud568\uc73c\ub85c\uc368 \uc7ac\ud65c\uc6a9\uc774 \uac00\ub2a5\ud568\uc73c\ub85c \uc801\uadf9 \ud65c\uc6a9\ud558\uae38 \ubc14\ub780\ub2e4. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1118232878.png\" class=\"aligncenter\" width=\"510\" height=\"375\" alt=\"\" \/><\/p>\n<p>\uc774\uc81c \uc8fc\uc778\uacf5\uacfc \uadf8 \ubb34\ub300\uac00 \uac70\uc758 \uc644\uc131\ub418\uc5b4\uc838 \uac04\ub2e4. \ubb34\uc9c0\ub9c9 \ubb34\ub300 \ud6a8\uacfc\ub85c\uc368 \uc218\uba74\uc5d0 \ubc18\uc0ac\ub418\ub294 \ud6a8\uacfc\ub97c \ub123\uc5b4\ubcf4\uc790. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1368962620.png\" class=\"aligncenter\" width=\"510\" height=\"375\" alt=\"\" \/><\/p>\n<p>\uc5ec\uae30\uc11c \uc0ac\uc6a9\ud55c \ubc29\ubc95\uc740 \uc774\ub807\ub2e4. \uc774\ubbf8 \uc55e\uc11c \ub9cc\ub4e4\uc5b4 \ub193\uc740 \ud654\uba74\uc744 &lt;VisualBrush>\ub97c \uc774\uc6a9\ud574\uc11c \ub610 \ud558\ub098\uc758 &lt;Rectangle>\uc5d0 \ucc44\uc6c0\uc73c\ub85c\uc368 \uad6c\ud604\ud560 \uc218 \uc788\ub2e4. &lt;VisualBrush>\uc758 Transform \uc911 ScaleTransform\uc758 ScaleY\uc758 \uac12\uc744 -1\ub85c \uc8fc\uc5b4 \uc704\uc640 \uc544\ub798\uac00 \ub4a4\uc9d1\ud788\uac8c \ud558\uba74 \ub418\ub294 \uac83\uc774\ub2e4. \uc5ec\uae30\uc5d0 \uba87\uac00\uc9c0 \ub9ce\uc740 \ub370\uc774\ud0c0 \ubc14\uc778\ub529 \uac1c\ub150\uc774 \uc0ac\uc6a9\ub418\uc5c8\ub294\ub370, \ud2b9\ud788 \uc8fc\ubaa9\ud574\uc57c\ud560 \uacf3\uc740 &lt;VisualBrush>\uc758 Visual \uc18d\uc131\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ubc14\uc778\ub529\uc774\ub2e4. \ubc14\uc778\ub529\uc758 ElementName\uc758 \uac12\uc774 TextBorder\uc778\ub370, \uc774 \uac12\uc740 \uc704\uc5d0\uc11c \ub9cc\ub4e0 &lt;Border>\uc758 Name\uc774\ub2e4. \uc989, \uc55e\uc11c \ub9cc\ub4e4\uc5b4 \ub193\uc740 &lt;Border>\uc758 \ubaa8\uc591\uc774 \uadf8\ub300\ub85c \ube0c\ub7ec\uc2dc\uac00 \ub418\uc5b4 &lt;Rectangle>\uc758 \ucc44\uc6c0 \uc18d\uc131\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \uac83\uc774\ub2e4.<\/p>\n<pre>  <Rectangle Name=\"ReflectedText\" \r\n    Height=\"{Binding ElementName=TextBorder, Path=ActualHeight}\" \r\n    Width=\"{Binding ElementName=TextBorder, Path=ActualWidth}\" \r\n    HorizontalAlignment=\"Left\"> \r\n    <Rectangle.OpacityMask> \r\n      <LinearGradientBrush StartPoint=\"0.5,0\" EndPoint=\"0.5,1\"> \r\n        <LinearGradientBrush.GradientStops> \r\n          <GradientStop Offset=\"0.0\" Color=\"#66000000\" \/> \r\n          <GradientStop Offset=\"1.0\" Color=\"#00000000\" \/> \r\n        <\/LinearGradientBrush.GradientStops> \r\n      <\/LinearGradientBrush> \r\n    <\/Rectangle.OpacityMask> \r\n    <Rectangle.Fill> \r\n      <VisualBrush \r\n        Visual=\"{Binding ElementName=TextBorder}\"> \r\n        <VisualBrush.RelativeTransform> \r\n          <TransformGroup> \r\n            <ScaleTransform ScaleX=\"1\" ScaleY=\"-1\" \/> \r\n            <TranslateTransform Y=\"1\" \/> \r\n          <\/TransformGroup> \r\n        <\/VisualBrush.RelativeTransform> \r\n      <\/VisualBrush> \r\n    <\/Rectangle.Fill> \r\n  <\/Rectangle><\/pre>\n<p>\uc774\uc81c, \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uc704\ud55c \uc8fc\uc778\uacf5\uacfc \ubc30\uacbd\uc5d0 \ub300\ud55c \uc815\uc758\uac00 \ubaa8\ub450 \ub9c8\ubb34\ub9ac \ub418\uc5c8\ub2e4. \uc774\uc81c \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uc9c0\uc815\ud558\ub294 \uac83\ub9cc \ub0a8\uc558\ub2e4. \uc5d0\ub2c8\uba54\uc774\uc158\uc758 \ub300\uc0c1\uc774 \ub418\ub294 \uac83\uc740 Windows Vista\uc774\uace0 \uc774 \ubb38\uc790\uc5f4\uc740 &lt;TextBlock>\uc758 \ub0b4\uc6a9\uc774\ubbc0\ub85c &lt;TextBlock>\uac00 \uc5d0\ub2c8\uba54\uc774\uc158\uc758 \ub300\uc0c1\uc774 \ub41c\ub2e4. \uc989, &lt;TextBlock>\uc548\uc5d0 &lt;TextBlock.TextEffects>\uc640 &lt;TextBlock.Triggers>\ub97c \ucd94\uac00\ud558\uace0 &lt;DoubleAnimation>, &lt;StoryBoard>, &lt;Int32AnimationUsingKeyFrames>\ub97c \uc774\uc6a9\ud574 \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uc9c0\uc815\ud558\uac8c \ub41c\ub2e4. \uc138\uc138\ud558\uac8c \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud558\uc790.<\/p>\n<pre>     <TextBlock ... > \r\n       Windows Vista \r\n       <TextBlock.TextEffects>\r\n       <\/TextBlock.TextEffects>\r\n       <TextBlock.Triggers>\r\n       <\/TextBlock.Triggers> \r\n     <\/TextBlock>\r\n<\/pre>\n<p>\uae30\uc874\uc758 &lt;TextBlock>\uc5d0 &lt;TextBlock.TextEffects>\uc640 &lt;TextBlock.Triggers>\uac00 \uc0c8\ub86d\uac8c \ucd94\uac00\ub418\uc5c8\ub2e4. &lt;TextBlock.TextEffects>\ub294 \ubb38\uc790\uc5d0 \ub300\ud574 \uc5ec\ub7ec\uac00\uc9c0 \ud6a8\uacfc\ub97c \uc904 \uc218 \uc788\ub294 \uac83\uc73c\ub85c, \uc774\ub3d9 \ud6a8\uacfc\uc5d0\ub294 \ud68c\uc804, \uc774\ub3d9, Skew, \ub298\ub9ac\uae30\uac00 \uc788\ub2e4. &lt;TextBlock.Triggers>\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc5d0 \ub300\ud55c \uc815\uc758\uc640 \uc2dc\uc791 \uc2dc\uc810\uc744 \uc9c0\uc815\ud558\ub294 \uac83\uc774\ub2e4. <\/p>\n<p>&lt;TextBlock.TextEffects>\uc758 \uc815\uc758\ub294 \ub2e4\uc74c\uacfc \uac19\uc740\ub370, \uba3c\uc800 \ud6a8\uacfc\ub97c \ubc1b\uc744 \ubb38\uc790\uc758 \uc218\ub97c \uc9c0\uc815\ud558\uae30 \uc704\ud574 &lt;TextEffect>\uc758 PositionCount \uc18d\uc131\uac12\uc73c\ub85c 1\uc744 \uc0ac\uc6a9\ud588\uc73c\uba70 \uc774 \ud6a8\uacfc\uc5d0 \ub300\ud55c \uc774\ub984\uc744 MyTextEffect\ub85c \uc9c0\uc815\ud588\ub2e4. \ub610\ud55c \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc774 \ud558\ub098\uc758 \ubb38\uc790\uac00 \uc544\ub798\uc5d0\uc11c \ub2e4\uc2dc \uc6d0\ub798 \uc790\ub9ac\uc640 \uc5d0\ub2c8\uba54\uc774\uc158\ub418\ub294 \uc774\ub3d9 \ud6a8\uacfc\uc774\ubbc0\ub85c &lt;TextEffect.Transform>\uc758 &lt;TranslateTransform>\uc744 \ucd94\uac00\ud558\uc600\uace0 \uc774\ub984\uc744 TextEffectTranslateTransform\uc73c\ub85c \uc8fc\uc5c8\ub2e4.<\/p>\n<pre>  <TextBlock.TextEffects> \r\n     <TextEffect PositionCount=\"1\" x:Name=\"MyTextEffect\"> \r\n       <TextEffect.Transform> \r\n         <TranslateTransform x:Name=\"TextEffectTranslateTransform\"\/> \r\n       <\/TextEffect.Transform> \r\n     <\/TextEffect> \r\n  <\/TextBlock.TextEffects><\/pre>\n<p>&lt;TextEffect>\uc640 &lt;TranslateTransform>\uc5d0 \uc774\ub984\uc744 \uc900 \uc774\uc720\ub294 &lt;TextBlock.Triggers>\uc5d0\uc11c \uc774 \uc774\ub984\uc744 \ud1b5\ud574 &lt;TextEffect>\uc640 &lt;TranslateTransform>\uc758 \uc18d\uc131\uac12\uc744 \uc801\uc808\ud55c \uc2dc\uac04\uc5d0 \ubcc0\uacbd\uc2dc\ucf1c \uc5d0\ub2c8\uba54\uc774\uc158\uc774 \ub418\ub3c4\ub85d \ud558\uae30 \uc704\ud568\uc774\ub2e4. &lt;TextBlock.Triggers>\ub97c \uc791\uc131\ud558\uae30 \uc804\uc5d0, \uba3c\uc800 \uc6b0\ub9ac\ub294 \uc601\ud654\uac10\ub3c5\uc774 \ub418\uc5b4 \uac01 \uc7a5\uba74, \uc7a5\uba74\uc744 \uba74\ubc00\ud558\uac8c \uace0\ub824\ud574\uc57c\ud558\ub294 \uace0\ud1b5\uc774 \ud544\uc694\ud558\ub2e4. \uace0\ud1b5\uc2a4\ub7fd\uae30\ub3c4 \ud558\uc9c0\ub9cc \ud55c\ud3b8\uc73c\ub85c\ub294 \uba4b\uc9c0\uc9c0 \uc54a\uc740\uac00!!? \uba3c\uc800 \uc0dd\uac01\ud574\uc57c\ud560 \uac83\uc740 Windows Vista\ub77c\ub294 \ubb38\uc7a5\uc740 \uacf5\ubc31\ubb38\uc790 \ud558\ub098\ub97c \ud3ec\ud568\ud574\uc11c \ucd1d 13\uc790\uc774\ub2e4. \uc774 13\uac1c\uc758 \ubb38\uc790\uac00 0.5\ucd08\uc529 \uc2dc\uac04\uc744 \ud560\ub2f9 \ubc1b\ub294\ub370, 0.5\ucd08 \ub3d9\uc548 \ud558\ub294 \uc561\uc158(Action~~)\uc740 Y\ucd95 \uc544\ub798\ub85c 20\ud53d\uc140 \uc774\ub3d9\ud558\uace0 \ub2e4\uc2dc \uc6d0\ub798 \uc790\ub9ac\ub85c \uc774\ub3d9\ud558\ub294\ub370 \uc4f0\uc778\ub2e4. \uc989, 0.5\ucd08\uc758 \ubc18\uc778 0.25\ucd08\ub294 \uc544\ub798\ub85c \uc774\ub3d9\ud558\uace0 \ub098\uba38\uc9c0 0.25\ucd08\ub294 \uc6d0\ub798 \uc790\ub9ac\ub85c \uc774\ub3d9\ud558\ub294\ub370 \uc4f0\uc778\ub2e4. \ube44\ub85d \uac04\ub2e8\ud55c \uc5d0\ub2c8\uba54\uc774\uc158\uc758 \uad6c\ud604\uc774\uc9c0\ub9cc \ub4f1\uc7a5\uc778\ubb3c\uc758 \uc218\uc640 \ud55c\uce58\uc758 \uc2dc\uac04 \uc624\ucc28\uc5c6\ub294 \uacc4\uc0b0\uc774 \ud544\uc694\ud558\ub2e4. \uc2dc\uac04\uc774 1\ucd08\ub9cc \ud2c0\ub824\uc838\ub3c4 \uc329\ub6b1\ub9de\ub294 \uc561\uc158\uc774 \ub098\uc624\uac8c \ub41c\ub2e4. <\/p>\n<pre>  <TextBlock.Triggers> \r\n  <EventTrigger RoutedEvent=\"TextBlock.Loaded\"> \r\n     <BeginStoryboard> \r\n       <Storyboard> \r\n         <DoubleAnimation \/>\r\n         <Int32AnimationUsingKeyFrames> \r\n         <\/Int32AnimationUsingKeyFrames> \r\n       <\/Storyboard> \r\n     <\/BeginStoryboard> \r\n  <\/EventTrigger> \r\n  <\/TextBlock.Triggers><\/p><\/pre>\n<p>\uc704\ub294 &lt;TextBlock.Triggers>\uc758 \uc544\uc9c1\uc740 \uc644\uc804\ud558\uc9c0 \uc54a\uc740 \uc2dc\uc791 \ub2e8\uacc4 \ucf54\ub4dc\uc774\ub2e4. \uc5ec\uae30\uc5d0\uc11c \uc5d0\ub2c8\uba54\uc774\uc158\uc774 \uc2dc\uc791\ud560 \uc2dc\uc810\uc744 &lt;TextBlock>\uc758 Loaded \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud560\ub54c \uc2dc\uc791\ud558\ub3c4\ub85d \uc9c0\uc815\ud558\uace0 \uc788\ub2e4.  \uc5ec\uae30\uc11c \ud544\uc694\ud55c \ucd94\uac00 \ucf54\ub4dc\ub294 &lt;DoubleAnimation>\uc640 &lt;Int32AnimationUsingKeyFrames>\uc758 \uc18d\uc131\uc744 \uc9c0\uc815\ud558\ub294 \uac83\uc774\ub2e4. <\/p>\n<pre>  <DoubleAnimation \r\n     Storyboard.TargetName=\"TextEffectTranslateTransform\" \r\n     Storyboard.TargetProperty=\"Y\" \r\n     From=\"0\" \r\n     To=\"20\" \r\n     Duration=\"00:00:0.25\" \r\n     RepeatBehavior=\"Forever\" \r\n     AutoReverse=\"True\" \/><\/pre>\n<p>\uba3c\uc800 &lt;DoubleAnimation>\uc740 \ud558\ub098\uc758 \uc2e4\uc218\ud615 \uac12\ub9cc\uc744 \ubcc0\uacbd\ud568\uc73c\ub85c\uc368 \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uc5bb\uc744 \uc218 \uc788\ub294 \uacbd\uc6b0 \uc0ac\uc6a9\ud55c\ub2e4. &lt;DoubleAnimation>\uc744 \uc0b4\ud3b4\ubcf4\uba74 \uc55e\uc11c \uc815\uc758\ud55c TextEffectTranslateTransform\uc774\ub77c\ub294 \uc774\ub984\uc758 &lt;TextEffect.Transform>\uc758 Y \uc18d\uc131\uc744 0~20(From, To \uc18d\uc131)\uc73c\ub85c 0.25\ucd08 \ub3d9\uc548(Duration=&#8221;00:00:0.25&#8243;) \ubcc0\ud654\uc2dc\ud0a8\ub2e4\ub294 \ub0b4\uc6a9\uc774\ub2e4. RepeatBehavior=&#8221;Forever&#8221;\ub294 \ubaa8\ub4e0 \ubb38\uc790\ub4e4\uc5d0 \ub300\ud574 \ubc18\ubcf5\ud558\ub2e4\ub294 \uc758\ubbf8\uc774\uace0 AutoReverse=&#8221;True&#8221;\ub294 Y \ucd95\uc73c\ub85c 0~20\uae4c\uc9c0 \ubcc0\uacbd\uc774 \uc644\ub8cc\ub418\uba74 \ub2e4\uc2dc \uc5ed\uc73c\ub85c \ubcc0\uacbd\ub418\ub3c4\ub85d \ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<pre>  <Int32AnimationUsingKeyFrames \r\n     Storyboard.TargetName=\"MyTextEffect\" \r\n     Storyboard.TargetProperty=\"PositionStart\" \r\n     Duration=\"0:0:6.5\" \r\n     AutoReverse=\"True\" \r\n     RepeatBehavior=\"Forever\"> \r\n       <Int32AnimationUsingKeyFrames.KeyFrames> \r\n         <DiscreteInt32KeyFrame Value=\"0\" KeyTime=\"0:0:0\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"1\" KeyTime=\"0:0:0.5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"2\" KeyTime=\"0:0:1\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"3\" KeyTime=\"0:0:1.5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"4\" KeyTime=\"0:0:2\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"5\" KeyTime=\"0:0:2.5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"6\" KeyTime=\"0:0:3\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"7\" KeyTime=\"0:0:3.5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"8\" KeyTime=\"0:0:4\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"9\" KeyTime=\"0:0:4.5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"10\" KeyTime=\"0:0:5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"11\" KeyTime=\"0:0:5.5\" \/> \r\n         <DiscreteInt32KeyFrame Value=\"12\" KeyTime=\"0:0:6\" \/> \r\n       <\/Int32AnimationUsingKeyFrames.KeyFrames> \r\n     <\/Int32AnimationUsingKeyFrames><\/pre>\n<p>\ub2e4\uc74c\uc73c\ub85c &lt;Int32AnimationUsingKeyFrames>\uc740 \ud558\ub098\uc758 \uc815\uc218\ud615 \uac12\uc744 \ubcc0\uacbd\ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc774\uba74\uc11c \uc815\ud655\ud55c \uc2dc\uac04\ubcc4\ub85c \ud504\ub808\uc784\uc744 \uc9c0\uc815\ud55c\ub2e4. &lt;Int32AnimationUsingKeyFrames>\uc758 \ub300\uc0c1\uc740 TargetName\uacfc TargetProperty\ub85c \uc9c0\uc815\ud574\uc900\ub2e4. \uc989 \uc55e\uc11c \uc774\ub3d9 \ubcc0\ud658 \ud6a8\uacfc\ub85c \uc124\uc815\ud588\ub358 &lt;TextEffect>\uc758 Name\uacfc &lt;TextEffect>\uc758 \ud6a8\uacfc\ub97c \ubc1b\uc744 \ubb38\uc790\uc758 \uc778\ub371\uc2a4 \ud504\ub85c\ud37c\ud2f0\ub85c\uc368 PositionStart \uac12\uc744 \uc9c0\uc815\ud588\ub2e4. \ubc14\ub85c \uc774 PositionStart \ud504\ub85c\ud37c\ud2f0\uac00 Int32 \ud615\uc774\uace0 &lt;Int32AnimationUsingKeyFrames>\uac00 \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uc704\ud574 \ubcc0\uacbd\uc2dc\ud0ac \uac12\uc774\ub2e4. \ucd1d 6.5\ucd08 \ub3d9\uc548 \ud55c \uc0ac\uc774\ud074\uc744 \ub3c4\ub294 \uc774 \uc5d0\ub2c8\uba54\uc774\uc158\uc758 \uc2dc\uac04\uc744 0.5\ucd08 \uac04\uaca9\uc73c\ub85c Frame\uc744 \ub098\ub204\uc5b4\uc8fc\uace0 \uc788\ub2e4. \uc989, &lt;DiscreteInt32KeyFrame>\uc744 \ud1b5\ud574 \uc18d\uc131 KeyTime \uc2dc\uac04\uc5d0 Value \uc18d\uc131\uc758 \uac12\uc73c\ub85c PositionStart \uac12\uc744 \uc124\uc815\ud558\uace0 \uc788\ub2e4.<\/p>\n<p>WPF\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158 \uae30\ub2a5\uc740 \uc720\uc5f0\ud558\uace0 \ub9c9\uac15\ud558\ub2e4\uace0 \uc0dd\uac01\ud55c\ub2e4. WPF\uac00 \ub098\uc624\uae30 \uc774\uc804\uc758 \uac1c\ubc1c\ud658\uacbd\uc5d0\uc11c \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uad6c\ud604\ud558\ub824\uba74 \ubb34\ucc99 \ub9ce\uc740 \uac83\uc744\uc744 \uace0\ubbfc\ud558\uace0 \uae30\uc874\uc758 \uac83\uc744 \ub300\ud3ed\uc801\uc73c\ub85c \uc218\uc815\ud574\uc57c\ud588\uc73c\ub098 WPF\ub294 \uc774\ubbf8 \ubaa8\ub4e0 \uc694\uc18c\uc5d0 \ub300\ud574 \uc5d0\ub2c8\uba54\uc774\uc158\uc744 \uc801\uc6a9\ubc1b\uc744 \uc218 \uc788\ub3c4\ub85d \ub418\uc5b4\uc788\ub2e4. \uc774\uc81c\ub294 \uc815\uc801\uc778 \ucee8\ud150\uce20\uac00 \uc544\ub2c8\ub77c \ud56d\uc0c1 \uc0ac\uc6a9\uc790\uac00 \uad50\uac10\ud558\ub294 \ub3d9\uc801\uc778 \ucee8\ud150\uce20\ub97c \ub9cc\ub4e4\uae30\uac00 \uc5b4\ub824\uc6b4 \uac83\uc774 \uc544\ub2c8\ub2e4. \uac1c\ubc1c\uc790\uc5d0\uac8c \uc788\uc5b4 \uae30\uc220\ubcf4\ub2e4\ub294 \ucc3d\uc758\ub825\uc73c\ub85c \uac1c\ubc1c\ud560 \uc218 \uc788\ub294 \uae30\ubc18\uc744 \uc81c\uacf5\ud558\uace0 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WPF\ub294 \uae30\ubcf8\uc801\uc73c\ub85c \ub80c\ub354\ub9c1\uc744 \uc804\ub2f4\ud558\ub294 \uc2a4\ub808\ub4dc\ub97c \uac00\uc9c0\uace0 \uc788\uc74c\uc73c\ub85c\ud574\uc11c \uc790\uccb4\uc801\uc778 \uc5d0\ub2c8\uba54\uc774\uc158 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uac00\uc9c4\ub2e4. \uc774\ubc88\uc5d0\ub294 WPF\uc758 \uc5d0\ub2c8\uba54\uc774\uc158 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uae30\ubc18\uc73c\ub85c \ud55c \uc791\uc740 \uc5d0\ub2c8\uba54\uc774\uc158 \uc0d8\ud50c\uc744 \ub9cc\ub4e4\uc5b4 \ubcf4\uace0\uc790 \ud55c\ub2e4. \ub9cc\ub4e4\uace0\uc790 \ud558\ub294 \uc5d0\ub2c8\uba54\uc774\uc158\uc740 \uc774\ub807\ub2e4. \ud654\uba74\uc0c1\uc5d0 Windows Vista \ubb38\uc7a5\uc744 \ub80c\ub354\ub9c1\ud558\uace0, &#8216;W&#8217;\ubb38\uc790\ubd80\ud130 \uc2dc\uc791\ud574\uc11c \ud55c\ubb38\uc790 \ud55c\ubb38\uc790\uc529 \uc6c0\uc9c1\uc774\ub294\ub370 \uc6c0\uc9c1\uc774\ub294 \ud615\ud0dc\ub294 \ud558\ub098\uc758 \ubb38\uc790\uac00 \uc544\ub798\ubc29\ud5a5\uc73c\ub85c \uc774\ub3d9\ud558\uace0 \ub2e4\uc2dc \uc6d0\ub798 \uc704\uce58\ub85c \ub3cc\uc544\uc624\ub294 \uac83\uc774\ub2e4. \uc5ec\uae30\uc5d0 \ub354\ud574\uc11c &lt;VisualBrush>\ub97c \uc774\uc6a9\ud574\uc11c \ub9c8\uce58 \ubb3c\uc704\uc5d0 \ube44\uce58\ub294 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=375\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;\uc2a4\ud1a0\ub9ac\ubcf4\ub4dc \uc5d0\ub2c8\uba54\uc774\uc158&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[21],"class_list":["post-375","post","type-post","status-publish","format-standard","hentry","category-wpf","tag-wpf"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=375"}],"version-history":[{"count":2,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/375\/revisions"}],"predecessor-version":[{"id":3627,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/375\/revisions\/3627"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=375"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}