0

我在 winrt 和 xaml 中有以下代码:

<Storyboard x:Name="myStoryboard">
<DoubleAnimation
Storyboard.TargetName="myImage"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:3"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>

我想将此代码转换为 vb.net,以便我可以为任何图像动态设置动画。我的问题是,在 vb.net 中,似乎行 Animation.Storyboard.SetTargetName(xBewegung, "Opacity") ,其中 xBewegung 是双动画,创建失败:WinRT-Informationen:未指定动画目标。

在某些示例中,我看到类似 new PropertyPath("Opacity") 的内容,但这似乎在 winrt 下不起作用。

那么正确的语法是什么。

下一个问题:是否有一个很好的来源可以查看我需要哪些字符串,例如需要“Image.Angle”等的旋转变换。

提前致谢, 巴西利乌斯

4

1 回答 1

0

您可以使用对对象的引用来设置动画目标:

Dim sb As New Storyboard()
Dim da As New DoubleAnimation()
da.From = 1
da.To = 0
da.Duration = New Duration(TimeSpan.FromSeconds(3))
da.AutoReverse = True
da.RepeatBehavior = RepeatBehavior.Forever
sb.Children.Add(da)

Storyboard.SetTarget(da, myImage) //myImage is the reference to the Image control
Storyboard.SetTargetProperty(da, "Opacity")

你可能有一个参考。这样您就不必处理元素名称。问题.SetTargetName在于 WinRT 缺乏NameScopes. 不幸的是,我无法让它工作。但SetTarget无论如何,在许多情况下应该是更好的解决方案。

于 2013-01-08T15:19:57.263 回答