无法从XAML中找到子元素

时间:2013-10-08 06:13:01

标签: wpf xaml

我有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”。

请帮忙

1 个答案:

答案 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();

希望这有帮助