<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>xiaoma de blog &#187; WPF</title>
	<atom:link href="http://www.floatingvectors.com/blog/tag/wpf/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.floatingvectors.com/blog</link>
	<description></description>
	<lastBuildDate>Sun, 22 Jan 2012 11:51:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WPF path animation as opacity mask</title>
		<link>http://www.floatingvectors.com/blog/357/</link>
		<comments>http://www.floatingvectors.com/blog/357/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 15:45:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[软件[Code]]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.floatingvectors.com/blog/?p=357</guid>
		<description><![CDATA[CODE
&#60;Window x:Class=&#8221;WpfApplication1.MainWindow&#8221;
       xmlns=&#8221;http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;
       xmlns:x=&#8221;http://schemas.microsoft.com/winfx/2006/xaml&#8221;
       x:Name=&#8221;Window&#8221;
       Title=&#8221;Path Opacity Mask Animation Demo&#8221;
       Width=&#8221;640&#8243; Height=&#8221;480&#8243; xmlns:System=&#8221;clr-namespace:System;assembly=mscorlib&#8221;&#62;
       &#60;Window.Resources&#62;
              &#60;Storyboard x:Key=&#8221;Timeline1&#8243;&#62;
                     &#60;DoubleAnimationUsingKeyFrames BeginTime=&#8221;00:00:00&#8243; Storyboard.TargetName=&#8221;path1&#8243;      Storyboard.TargetProperty=&#8221;(Shape.StrokeDashOffset)&#8221;&#62;
                           &#60;SplineDoubleKeyFrame KeyTime=&#8221;00:00:01&#8243; Value=&#8221;25&#8243;/&#62;
                           &#60;SplineDoubleKeyFrame KeyTime=&#8221;00:00:02&#8243; Value=&#8221;0&#8243;/&#62;
                     &#60;/DoubleAnimationUsingKeyFrames&#62;
                     &#60;DoubleAnimationUsingKeyFrames BeginTime=&#8221;00:00:00&#8243; Storyboard.TargetName=&#8221;path2&#8243;  Storyboard.TargetProperty=&#8221;(Shape.StrokeDashOffset)&#8221;&#62;
                           &#60;SplineDoubleKeyFrame KeyTime=&#8221;00:00:03&#8243; Value=&#8221;25&#8243;/&#62;
                           &#60;SplineDoubleKeyFrame KeyTime=&#8221;00:00:04&#8243; Value=&#8221;0&#8243;/&#62;
                     &#60;/DoubleAnimationUsingKeyFrames&#62;
    &#60;/Storyboard&#62;
       &#60;/Window.Resources&#62;
       &#60;Window.Triggers&#62;
              &#60;EventTrigger RoutedEvent=&#8221;FrameworkElement.Loaded&#8221;&#62;
                     &#60;BeginStoryboard Storyboard=&#8221;{StaticResource Timeline1}&#8221;/&#62;
              &#60;/EventTrigger&#62;
       &#60;/Window.Triggers&#62;
       &#60;Grid x:Name=&#8221;LayoutRoot&#8221;&#62;
              &#60;Image Source=&#8221;Hydrangeas.jpg&#8221; Stretch=&#8221;Fill&#8221;&#62;
      &#60;Image.OpacityMask&#62;
    &#60;VisualBrush&#62;
             &#60;VisualBrush.Visual&#62;
               &#60;Path [...]]]></description>
			<content:encoded><![CDATA[<p>CODE</p>
<p>&lt;Window x:Class=&#8221;WpfApplication1.MainWindow&#8221;<br />
       xmlns=&#8221;<a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation">http://schemas.microsoft.com/winfx/2006/xaml/presentation</a>&#8221;<br />
       xmlns:x=&#8221;<a href="http://schemas.microsoft.com/winfx/2006/xaml">http://schemas.microsoft.com/winfx/2006/xaml</a>&#8221;<br />
       x:Name=&#8221;Window&#8221;<br />
       Title=&#8221;Path Opacity Mask Animation Demo&#8221;<br />
       Width=&#8221;640&#8243; Height=&#8221;480&#8243; xmlns:System=&#8221;clr-namespace:System;assembly=mscorlib&#8221;&gt;</p>
<p>       &lt;Window.Resources&gt;<br />
              &lt;Storyboard x:Key=&#8221;Timeline1&#8243;&gt;<br />
                     &lt;DoubleAnimationUsingKeyFrames BeginTime=&#8221;00:00:00&#8243; Storyboard.TargetName=&#8221;path1&#8243;      Storyboard.TargetProperty=&#8221;(Shape.StrokeDashOffset)&#8221;&gt;<br />
                           &lt;SplineDoubleKeyFrame KeyTime=&#8221;00:00:01&#8243; Value=&#8221;25&#8243;/&gt;<br />
                           &lt;SplineDoubleKeyFrame KeyTime=&#8221;00:00:02&#8243; Value=&#8221;0&#8243;/&gt;<br />
                     &lt;/DoubleAnimationUsingKeyFrames&gt;<br />
                     &lt;DoubleAnimationUsingKeyFrames BeginTime=&#8221;00:00:00&#8243; Storyboard.TargetName=&#8221;path2&#8243;  Storyboard.TargetProperty=&#8221;(Shape.StrokeDashOffset)&#8221;&gt;<br />
                           &lt;SplineDoubleKeyFrame KeyTime=&#8221;00:00:03&#8243; Value=&#8221;25&#8243;/&gt;<br />
                           &lt;SplineDoubleKeyFrame KeyTime=&#8221;00:00:04&#8243; Value=&#8221;0&#8243;/&gt;<br />
                     &lt;/DoubleAnimationUsingKeyFrames&gt;<br />
    &lt;/Storyboard&gt;<br />
       &lt;/Window.Resources&gt;<br />
       &lt;Window.Triggers&gt;<br />
              &lt;EventTrigger RoutedEvent=&#8221;FrameworkElement.Loaded&#8221;&gt;<br />
                     &lt;BeginStoryboard Storyboard=&#8221;{StaticResource Timeline1}&#8221;/&gt;<br />
              &lt;/EventTrigger&gt;<br />
       &lt;/Window.Triggers&gt;</p>
<p>       &lt;Grid x:Name=&#8221;LayoutRoot&#8221;&gt;<br />
              &lt;Image Source=&#8221;Hydrangeas.jpg&#8221; Stretch=&#8221;Fill&#8221;&gt;<br />
      &lt;Image.OpacityMask&gt;<br />
    &lt;VisualBrush&gt;<br />
             &lt;VisualBrush.Visual&gt;<br />
               &lt;Path x:Name=&#8221;path1&#8243; Stretch=&#8221;Fill&#8221; Stroke=&#8221;#FF000000&#8243; StrokeDashOffset=&#8221;1000&#8243; StrokeEndLineCap=&#8221;Round&#8221; StrokeStartLineCap=&#8221;Round&#8221; StrokeThickness=&#8221;20&#8243; HorizontalAlignment=&#8221;Left&#8221; Margin=&#8221;228,145.336,0,188.972&#8243; Width=&#8221;71&#8243; Data=&#8221;M294,171 C289,162 283,147 268,151 253,155 244,164.99992 244,177.00008 244,189.00024 284,196.00033 287,207.00047 290,218.00062 286,249.00103 259,250.00104 232,251.00105 235,225.00071 233,219.00063&#8243; StrokeDashArray=&#8221;25 1000&#8243;/&gt;<br />
             &lt;/VisualBrush.Visual&gt;<br />
           &lt;/VisualBrush&gt;<br />
    &lt;/Image.OpacityMask&gt;<br />
     &lt;/Image&gt;<br />
    <br />
    &lt;Path x:Name=&#8221;path2&#8243; Stretch=&#8221;Fill&#8221; Stroke=&#8221;#FF000000&#8243; StrokeDashOffset=&#8221;1000&#8243; StrokeEndLineCap=&#8221;Round&#8221; StrokeStartLineCap=&#8221;Round&#8221; StrokeThickness=&#8221;20&#8243; HorizontalAlignment=&#8221;Left&#8221; Margin=&#8221;228,145.336,0,188.972&#8243; Width=&#8221;71&#8243; Data=&#8221;M294,171 C289,162 283,147 268,151 253,155 244,164.99992 244,177.00008 244,189.00024 284,196.00033 287,207.00047 290,218.00062 286,249.00103 259,250.00104 232,251.00105 235,225.00071 233,219.00063&#8243; StrokeDashArray=&#8221;25 1000&#8243;/&gt;<br />
          <br />
  &lt;/Grid&gt;<br />
&lt;/Window&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.floatingvectors.com/blog/357/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

