【发布时间】:2014-12-29 07:33:25
【问题描述】:
我正在为椭圆设置动画以在 wpf 中水平移动。现在,当椭圆到达画布上的某个点(比如说画布的中点)时,我想在画布上再添加几个椭圆。我怎样才能做到这一点?
XAML 代码-
<Canvas Background="AliceBlue" x:Name="canvas">
<Ellipse
Name="ellipse1"
Canvas.Left="50"
Fill="#FFFFFF00"
Height="75"
Width="100"
/>
</Canvas>
代码背后-
public partial class MainWindow : Window
{
private DoubleAnimation anim = new System.Windows.Media.Animation.DoubleAnimation(50, 400, TimeSpan.FromSeconds(10),
System.Windows.Media.Animation.FillBehavior.HoldEnd);
private AnimationClock clock;
public MainWindow()
{
InitializeComponent();
clock = anim.CreateClock();
this.ellipse1.ApplyAnimationClock(Canvas.LeftProperty, clock);
}
}
最初我认为这很简单,我只需从后面的代码中访问Canvas.Left,当它达到我想要的值时,我会添加省略号。但我正在努力实现这一点,我想我需要某种观察者或事件来实现这一点。我应该如何实现它?
【问题讨论】:
-
使用计时器创建新椭圆怎么样?最好是 DispatcherTimer。