0

我正在尝试使用 WPF 来学习如何使用 codebehind 为 opacitymask 的 viewbox 的大小设置动画,在 xaml 中是这样的

<Storyboard>
    <RectAnimation Storyboard.TargetProperty="OpacityMask.Viewbox"
                   From="-1,-1,3,3" To="0.49,0.49,0.02,0.02" Duration="0:0:0.5"/>
</Storyboard>

它工作得很好。现在我试图在后面的代码中做到这一点,但我不知道为属性路径放什么,我试过了

Storyboard.SetTargetProperty(animation, new PropertyPath(OpacityMask.ViewBoxProperty));

但它给出了错误。有谁知道怎么做?

4

1 回答 1

1

这是TileBrush.Viewbox属性:

Storyboard.SetTargetProperty(animation, new PropertyPath(TileBrush.ViewboxProperty));

或者

Storyboard.SetTargetProperty(animation, new PropertyPath("Viewbox"));

您还需要设置动画目标对象:

Storyboard.SetTarget(animation, element.OpacityMask);

您当然也可以将元素本身设置为动画目标,并使用与 XAML 中相同的属性路径:

Storyboard.SetTarget(animation, element);
Storyboard.SetTargetProperty(animation, new PropertyPath("OpacityMask.Viewbox"));
于 2013-02-20T18:47:42.403 回答