如何在代码后面创建Storyboard.TargetProperty =“Opacity Mask.Viewbox”的属性路径?

时间:2013-02-20 18:28:05

标签: wpf silverlight wpf-controls

我正在尝试使用WPF来学习如何使用代码隐藏为opacitymask设置视图框大小的动画,在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));

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

1 个答案:

答案 0 :(得分: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"));