MSDN 教程短片 WPF 16(Path路径)
制作動畫路徑-Path
Path中有個Date屬性,用來獲取或設(shè)置指定要繪制的形狀的 Geometry。
所以我們畫一個圓來和一個橢圓路徑,是圓在橢圓路徑上移動,我們先畫個圓。
<Ellipse x:Name="e1" Stroke="Black" Width="50" Height="50" Fill="Red" Margin="0,0,228,211"></Ellipse>在畫一個路徑
<Path x:Name="p1" Stroke="Blue"> <Path.Data> <EllipseGeometry x:Name="eg1" Center="120,100" RadiusX="100" RadiusY="50"> </EllipseGeometry> </Path.Data> </Path>這里給這個路徑的EllipseGeometry取個name叫eg1,后面會用到。 這下我們可以對這個Ellipse進(jìn)行RenderTransform,下面看代碼。
<Ellipse x:Name="e1" Stroke="Black" Width="50" Height="50" Fill="Red" Margin="0,0,228,211">
<Ellipse.RenderTransform>
<TransformGroup>
<TranslateTransform X="-25" Y="-15"/>
<MatrixTransform x:Name="m1"/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Triggers>
<EventTrigger RoutedEvent="Page.Loaded">
<BeginStoryboard>
<Storyboard x:Name="s1" RepeatBehavior="Forever">
<MatrixAnimationUsingPath x:Name="ma1"
Storyboard.TargetName="m1"
Storyboard.TargetProperty="Matrix"
Duration="0:0:5"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Ellipse.Triggers>
</Ellipse>
這里我們用到Storyboard中的MatrixAnimationUsingPath,
通過使用 PathGeometry 生成動畫值,從而對 Matrix 屬性的值進(jìn)行動畫處理。此動畫可用于沿著路徑移動可視對象。
這里MatrixAnimationUsingPath綁定的目標(biāo)是m1,綁定它的屬性是Matrix,這里的m1是MatrixTransform,它是
創(chuàng)建一個任意仿射矩陣變換,用于操作二維平面中的對象或坐標(biāo)系。
這里的<TranslateTransform X="-25" Y="-15"/> 是給圓調(diào)整它沿著橢圓路徑旋轉(zhuǎn)的平移度。
TranslateTransform:通過使此 Graphics 的變換矩陣左乘指定的平移來更改坐標(biāo)系統(tǒng)的原點(diǎn)。
我們還要用個button來加載和啟動這個路徑
private void button1_Click(object sender, RoutedEventArgs e){PathGeometry pathGeometry=new PathGeometry();pathGeometry.AddGeometry(eg1);ma1.PathGeometry = pathGeometry;s1.Begin(e1);}
我們按F5調(diào)試下。
轉(zhuǎn)載于:https://www.cnblogs.com/dingli/archive/2011/01/17/1937052.html
總結(jié)
以上是生活随笔為你收集整理的MSDN 教程短片 WPF 16(Path路径)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VM 下装ubuntu系统
- 下一篇: mysql的时间存储格式