我正在尝试使用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));
但它给出了错误。有谁知道怎么样?
答案 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"));