ItemsBoard上的StoryBoard.Begin?

时间:2013-03-25 02:25:42

标签: wpf animation storyboard

我有一个ItemsControl,它的ItemsSource是一个ObservableCollection。我还有一个DataTemplate来显示每个MyPerson。

<ItemsControl Name="ic_People" ItemTemplate="{StaticResource dtPerson}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>

DataTemplate本身有点复杂,但其中一部分是Image。

在代码隐藏中,我想通过移动Image(使用Canvas.Top等)为一些/所有这些DataTemplates设置动画。

我的代码隐藏在这里;

Storyboard sb = new Storyboard();
DoubleAnimation da = new DoubleAnimation();
da.From = 0;
da.By = 68;
da.Duration = new Duration(TimeSpan.FromSeconds(.2));
sb.Children.Add(da);
object prop = Canvas.TopProperty;
Storyboard.SetTargetProperty(da, new PropertyPath(prop));
sb.Begin(???, true); <---- needs a FrameworkElement

我可以访问ObservableCollection。如何访问DataTemplate或Person作为FrameworkElement(这是Begin方法需要的)? 感谢

0 个答案:

没有答案