Hallo,
ich habe ein Problem, dass ich mir nicht genau erklären kann. Ich möchte einem UIElement ein Storyboard zuweisen (Silverlight 4). Das Element und das Storyboard sollen per Code erstellt und zugewiesen werden.
Dazu habe ich folgenden Code, wo das UIElement (PolFotHyperlinkButton von HyperlinkButton abgeleitet) erstellt wird.
foreach (NavigationElement ne in n.NaviElements)
{
/*...*/
//Create HyperlinkButton with predefined styles
PolFotHyperlinkButton h = new PolFotHyperlinkButton(ne);
//bind storyboard to HyperlinkButton
ne.SetStoryboardTarget(h);
/*...*/
}
Das NavigationElement und PolFotHyperlinkButton entsprechen einander. Das eine ist meine C# Klasse und das andere das UIElement im Silverlight. Die Funktion
SetStoryboardTarget enthält folgenden Code:
storyboardMouseEnter = new Storyboard();
DoubleAnimation da = new DoubleAnimation();
da.To = 0.2;
da.Duration = new Duration(new TimeSpan(0, 0, 0, 2));
Storyboard.SetTarget(da, (elem as PolFotHyperlinkButton));
Storyboard.SetTargetName(da, "Opacity");
storyboardMouseEnter.Children.Add(da);
storyboardMouseLeave = new Storyboard();
da = new DoubleAnimation();
da.To = 1.0;
da.Duration = new Duration(new TimeSpan(0, 0, 0, 2));
Storyboard.SetTarget(da, (elem as PolFotHyperlinkButton));
Storyboard.SetTargetProperty(da, new PropertyPath("Opacity"));
storyboardMouseLeave.Children.Add(da);
Ich habe dort also zwei Storyboards, die ich bei der Initialisierung der App mit Werten fülle. Anschließend füge ich dem PolFotHyperlinkButton noch zwei EventHandler hinzu, die die Storyboards starten. Das heißt: Der PolFotHyperlinkButton
ruft im NavigationElement, das sein Pendant ist, das Storyboard auf und startet es. Beim Start des Storyboards wird mir aber folgender Fehler ausgegeben:
Animationsziel nicht festgelegt.
Bei der Zuweisung erscheint aber kein Fehler. Kann mir jemand helfen?