小编Tas*_*Tas的帖子

从WPF中的DoubleAnimation Completed事件获取目标控件?

我希望有人可以帮助我,我认为这是一个相对直接的问题.

我正在使用DoubleAnimation对象在代码中设置淡出动画.它会淡化图像,然后在完成时触发已完成的事件.

我想从事件处理程序中获取应用了淡出动画的控件的名称,但我找不到方法.

任何帮助赞赏.谢谢.

DispatcherTimer timer = new DispatcherTimer();

public MainWindow()
{
    InitializeComponent();

    image1.Visibility = System.Windows.Visibility.Visible;
    image2.Visibility = System.Windows.Visibility.Collapsed;

    timer.Interval = TimeSpan.FromSeconds(2);
    timer.Tick += new EventHandler(timer_Tick);
    timer.Start();
}

void FadeOut(UIElement element)
{
    DoubleAnimation FadeOut = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(0.5)));
    FadeOut.Completed += new EventHandler(FadeOut_Completed);
    element.BeginAnimation(OpacityProperty, FadeOut);
}

void FadeOut_Completed(object sender, EventArgs e)
{
    // How to find out which control was targeted?
}

void timer_Tick(object sender, EventArgs e)
{
    if (image1.Visibility == System.Windows.Visibility.Visible)
    {
        FadeOut(image1); 
        //image1.Visibility = System.Windows.Visibility.Collapsed;
        //image2.Visibility = …
Run Code Online (Sandbox Code Playgroud)

wpf animation

3
推荐指数
1
解决办法
3298
查看次数

标签 统计

animation ×1

wpf ×1