WPF Animate Grid.VisibilityProperty 在代码中

WPF Animate Grid.VisibilityProperty in code

什么动画 class 可以让我在代码中更改带有 Storyboard 实例的 Grid 对象的可见性(不是不透明度)(不是 XAML)?

这样我就可以在将它添加到故事板之前设置 to、from 和 duration 属性。

您可以使用一个 ObjectAnimationUsingKeyFrames 和一些 DiscreteObjectKeyFrame

你可以找到一个例子here。唯一要做的工作就是将其转换为 C# 代码。 (这应该不是什么大问题。)

这是设置可见性动画所需的代码。

    DiscreteObjectKeyFrame dk;

    ObjectAnimationUsingKeyFrames ok;

    ok = new ObjectAnimationUsingKeyFrames();
    dk = new DiscreteObjectKeyFrame();

    Storyboard.SetTarget(ok, myGrid);
    Storyboard.SetTargetProperty(ok, new PropertyPath(Grid.VisibilityProperty));
    dk.KeyTime = TimeSpan.FromSeconds(0.1);
    dk.Value = Visibility.Hidden;
    ok.KeyFrames.Add(dk);

    sb.Children.Add(ok);