Farbe übergang in WPF
Möchte ich ein Farbübergang von Background
Farbe eines WPF-Fensters.
Wie kann ich dies tun?
Beispiel:
Brush i_color = Brushes.Red; //this is the initial color
Brush f_color = Brushes.Blue; //this is the final color
Wenn ich auf Button
button1
private void button1_Click(object sender, RoutedEventArgs e)
{
this.Background = f_color; //here the transition begins. I don't want to be quick. Maybe an interval of 4 seconds.
}
- Warum? Fühlen Sie sich frei zu kommentieren
- +1 ich verstehe nicht, warum dieser nach unten gestimmt. Die Frage ist klar und es gibt einige code zu demonstrieren, was der OP will.
- Downvote war wohl für den Mangel angezeigt Anstrengungen, um das problem zu lösen auf Ihren eigenen (siehe unten-Pfeil tooltip). Auch ich bin sicher, dies wurde gebeten vor, so dass die Suche bemühen, könnten in Frage gestellt werden, wie gut.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im code, es kann getan werden mit dieser
Als H. B. wies darauf hin, diese arbeiten zu
BeginAnimation
statt.SolidColorBrush
, z.B. dieBackground
zunew SolidColorBrush(Colors.Red)
, dann animieren Sie, dass. Die Instanzen vonBrushes
sind wohl alle eingefroren, so dass Sie nicht geändert werden können (das wäre seltsam, sich vorstellen, jemanden unter dieBrushes.Red
und jetzt ist es blau).Hier ist eine Möglichkeit:
Können Sie eine animation (hier Lesen), insbesondere eine
ColorAnimation
(siehe Beispiele) oderColorAnimationUsingKeyframes
.Nur vollständige LPL und H. B. Antwort.....
In meinem Fall, die ich brauchte, um wieder eine Kontrolle zurück zu der gleichen Farbe, die es war, bevor die animation.
Hier ist mein code
Autoreverse=true
?