2011-01-03 12 views
1

Ich habe eine Reihe von Kontrollen (Button, ToggleButton) ich den gleichen Stil haben wollen, so habe ich ein paar Gradienten Bürsten für normal/deaktiviert/aktiviert Zustände in meinem Resource erstellt, zum Beispiel "ButtonFillBrush", "ButtonFillMouseOverBrush" usw. Diese sind als globale wiederverwendbare Pinselressourcen definiert.Silverlight: verwenden GradientBrush Ressource für staatliche Animation

Ich weiß, es möglich ist, in einem Zustand, in einer Animation einzelne Stationen eines Gradienten zu ändern, zum Beispiel:

<VisualState x:Name="MouseOver"> 
    <Storyboard> 
     <ColorAnimation Duration="0" To="#FF041D06" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[1].(GradientStop.Color)" Storyboard.TargetName="path" d:IsOptimized="True"/> 
     <ColorAnimation Duration="0" To="#FF118519" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[0].(GradientStop.Color)" Storyboard.TargetName="backgroundRectangle" d:IsOptimized="True"/> 
    </Storyboard> 
</VisualState> 

Jetzt weiß ich, es möglich ist, in dem Visual-Manager zu tun, so etwas wie:

<VisualState x:Name="MouseOver"> 
    <Storyboard> 
     <ColorAnimation Duration="0" To="ButtonFillMouseOverBrush" Storyboard.TargetProperty="(Shape.Fill).(GradientBrush)" Storyboard.TargetName="backgroundRectangle" d:IsOptimized="True"/> 
    </Storyboard> 
</VisualState> 

Dank!

aktualisieren: http://wildermuth.com/2008/07/18/Animating_Brushes_with_ObjectAnimationUsingKeyFrames

<VisualState x:Name="MouseOver"> 
    <Storyboard> 
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="backgroundRectangle"      
Storyboard.TargetProperty="Fill"> 
     <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{StaticResource ButtonFillMouseOverBrush}" /> 
    </ObjectAnimationUsingKeyFrames> 
    </Storyboard> 
</VisualState> 

Also, es wäre schön, einen BrushAnimation oder etwas zu haben ...

Rogier: die Antwort über den Bezug mit der Static und etwas mehr Suche mit

Antwort

0

Sie können weitere Informationen in Bezug auf Ressourcenwörterbücher & die Verwendung von ihnen here finden. Aber für Ihre Farbanimation Frage viele Informationen über Silverlight Animationen (einschließlich Farbanimationen) finden Sie unter diesem Link Silverlight Animations Quickstart

+0

Hey Niels das funktioniert nicht, weil es eine Farbe statt eines Pinsels erwartet. Aber das bisschen über die StaticResource hat mir geholfen, die richtige Antwort zu finden, also meine Bearbeitung – Rogier

+0

Hehe du kannst den Pinsel einfach durch die Farbe im Wörterbuch ersetzen dann schätze ich. Ich habe erst vor kurzem mit Silverlight für Windows Phone begonnen, daher ist mein Wissen ziemlich begrenzt: P. Froh, dass du es herausgefunden hast! – Citroenfris

+0

Aktualisiert meine Antwort BTW. – Citroenfris

Verwandte Themen