我有UserControl
并尝试在后面的代码中找到(使用FindResource)DoubleAnimation
元素。
Examp: -
<UserControl ....
<Canvas Width="400" Height="400" Loaded="Canvas_Loaded">
<Canvas.Resources>
<Storyboard x:Key="sd" x:Name="sBoard ">
<DoubleAnimation x:Name="SomeAnimation" ...
我试图在Canvas_Loaded
方法中找到“SomeAnimation”。
请帮忙
答案 0 :(得分:1)
FindResource方法期望SomeAnimation
没有的资源键。
您可以使用它来使用Storyboard
键查找sd
资源,并从那里找到您的动画。
private void Canvas_Loaded(object sender, RoutedEventArgs e)
{
var canvas = sender as Canvas;
var storyboard = canvas.FindResource("sd") as Storyboard;
var someAnimation = storyboard.Children.First() as DoubleAnimation;
}
如果您这样做是为了激活动画,您可以使用BeginStoryboard方法
来完成var storyboard = canvas.FindResource("sd") as Storyboard;
canvas.BeginStoryboard(storyboard);
或只是
storyboard.Begin();
希望这有帮助