无法解析TargetName错误

问题描述:

请在visual basic中提供答案。 只是想知道Storyboard.SetTargetName的语法。无法解析TargetName错误

Me._StoryMoveLeft = New Storyboard 
DAnim = New DoubleAnimation 
Me._StoryMoveLeft.Children.Add(DAnim) 
Storyboard.SetTargetName(DAnim, "SmoothRectTranslate") 
Storyboard.SetTargetProperty(DAnim, New PropertyPath(TranslateTransform.XProperty)) 

Me._StoryMoveLeft.Stop() 
danim = CType(Me._StoryMoveLeft.Children(0), DoubleAnimation) 
DAnim.Duration = New Duration(ts) 
DAnim.To = newDestinationRect.Left 
Me._StoryMoveLeft.Begin() '<-- ERROR OCCOURS Cannot resolve TargetName SmoothRectTranslate. 
<Rectangle x:Name="RectSmoot" Fill="Lime" Width="20" Height="20" Stroke="{Binding Stroke}" StrokeThickness="{Binding StrokeThickness}" HorizontalAlignment="Left" VerticalAlignment="Top" > 
    <Rectangle.RenderTransform> 
     <TranslateTransform X="20" Y="20" x:Name="SmoothRectTranslate" /> 
    </Rectangle.RenderTransform> 
</Rectangle> 
+0

一切之上WPF,请检查您的术语,在所有这些情况下,你想要说XAML,不是吗?另外,XAML代码片段位于哪里?如果它在DataTemplate或类似的东西中,你当然不能从它的范围外动画它等。 –

+0

嗨。它不是一个模板。只需一个带有XAML和代码隐藏的简单页面。 – Nasenbaer

要在代码中使用Storyboard.TargetName你需要创建一个名称范围,见documentation of SetTargetName对于如何做到这一点的例子。

(顺便说一句,如果你只有一个动画我不会用一个故事板的话,那只能意味着麻烦,只需拨打BeginAnimation变换)

+0

谢谢H.B.请你能解释一下,“这只意味着麻烦”,有一点,因为如果我理解你的话,它可能解决我的另一个问题。 – Nasenbaer

+0

NameScope.SetNameScope似乎不被WP7支持 – Nasenbaer

+0

@Nasenbaer:麻烦就在这里,你需要做额外的设置来使用StoryBoard进行动画,如果你直接为目标设置动画,这是不必要的。 –