
Ergebnis 1 bis 10 von 10
-
Bin neu hier
- 21.07.2011, 06:58
- #1
Hallo!
Ich bin schon seit 2 Tagem am verzweifeln... Ich versuche über einen EventHandler in C# die Hintergrundfarbe eines Wrappanels zu ändern. Nach langem Googlen kam ich zu der Lösung, dass das wohl über eine Animation mit einem Storyboard möglich wäre, obwohl deas Wrappanel einen einfachen Setter für die Hintergrundfarbe hat. Hab ich was übersehen oder muss man wirklich diesen komplizierten Weg gehen?
Oder gibt es in der XAML-Datei eine Möglichkeit, die Hintergrundfarbe an eine Funktion zu binden?
MfG und schonmal Danke für eure Hilfe
quotschmacher
-
Mich gibt's schon länger
- 21.07.2011, 19:58
- #2
Ich hab zwar jetzt keine zeit zum testen würde aber spontan mal in der xaml datei bei der gewünchten property ein {Binding bgColor} versuchen und das dann auch im code definieren.
Wie gesagt wär nur ein Versuch den ich starten würd.
Mfgee der aza
Mit der kostenlosen PocketPC.ch App von meinem OMNIA7 aus geschrieben.
-
Mich gibt's schon länger
- 26.07.2011, 09:15
- #3
Hi!
Hast das Problem gelöst gekriegt?
-
Bin neu hier
- 26.07.2011, 12:43
- #4
Statisch klappt es, dynamisch noch nicht. Soll heißen: beim laden wird die korrekte Farbe gewählt, Änderungen jedoch nicht übernommen.
codesnippet:
<controls:WrapPanel Background="{Binding hintergrundfarbe}">
Brush Hintergrundfarbe{get{return new SolidColorBrush(Farbe);} set { /* setzt dann halt die Farbe der Variablen Farbe */}}
Mit der kostenlosen PocketPC.ch App von meinem OMNIA7 aus geschrieben.
-
Mich gibt's schon länger
- 26.07.2011, 12:55
- #5
Ich habs jetzt nicht komplett durchgelesen aber vielleicht hilft dir das weiter:
http://social.msdn.microsoft.com/For...b-9f9909e987ea
-
Bin neu hier
- 26.07.2011, 13:33
- #6
Ich dank dir auf jeden Fall erstmal, aber auch da läuft es wieder auf ein Storyboard mit Animation hinaus, was sicher schön aussieht, ich persönlich aber für ein bisschen übertrieben halte, wo ich die Background-Variable ja doch direkt beschreiben kann. Dann muss ich mich wohl doch in das Storyboard reinfuchsen...
Mit der kostenlosen PocketPC.ch App von meinem OMNIA7 aus geschrieben.
-
Mich gibt's schon länger
- 26.07.2011, 13:38
- #7
Ich dachte eigentlich an einen Reload der Seite
Hi, there is: http://msdn.microsoft.com/en-us/libr...ut(VS.95).aspx
so just call your grid like: grid.UpdateLayout() - its not efficient to do this however.
-
Bin neu hier
- 26.07.2011, 13:49
- #8
UpdateLayout() war mein allererster Ansatz, hat aber rein garnix bewirkt. Dennoch danke und mir kann es ja auch nicht schaden, wenn ich was über Animationen lerne
Mit der kostenlosen PocketPC.ch App von meinem OMNIA7 aus geschrieben.
-
Mich gibt's schon länger
- 26.07.2011, 13:51
- #9
Lernen is immer gudd
-
Bin neu hier
- 30.07.2011, 15:12
- #10
So mit o!
Habs jetzt hinbekommen. Für alle, die vor einem ähnlichen Problem stehen, ich habe mir hier Anregungen geholt und dann folgende Hilfsklasse implementiert:
public class AnimationHelper
{
public void ChangeBackground(UIElement target, Color targetColor)
{
ColorAnimation da = new ColorAnimation();
Brush start = (target as WrapPanel).Background;
da.From = (start as SolidColorBrush).Color;
da.To = targetColor;
da.Duration = TimeSpan.FromSeconds(0.5);
da.AutoReverse = false;
Storyboard.SetTargetProperty(da, new PropertyPath("(target.Background).(SolidColorBrush.Color)"));
Storyboard.SetTarget(da, target);
Storyboard sb = new Storyboard();
sb.Children.Add(da);
sb.Begin();
}
}
so dass ich im Eventhandler, der das Ändern des Hintergundes auslöst nur noch
AnimationHelper help = new AnimationHelper();
help.ChangeBackground(WrapPanelName, Wunschfarbe);
schreiben muss, um eine Animation von der aktuellen Farbe zur Wunschfarbe zu bekommen.
Wichtig: initial und wenn nicht anders definiert, hat das WrapPanel den Hintergrundbrush "null". In dieser Hilfsklasse ist keine Sonderbehandlung dafür. Ich habe meinem WrapPanel direkt in der XAML-Datei eine Hintergrundfarbe verpasst, um die NullPointerException zu umgehen.
Leider ist meine Methode hier noch recht statisch und nur für das WrapPanel nutzbar, da ein UIElement keinen Background hat...
Ich hoffe dennoch, es nützt irgendwem irgendwie mal...
Ähnliche Themen
-
[2 Jun 11][v3.9] HD2 NAND Toolkit - All in one Toolkit for HD2 NAND Users
Von Black Beast im Forum HD2 Android Builds NAND-VersionenAntworten: 9Letzter Beitrag: 06.11.2011, 11:01 -
Background: Hintergrund ändern
Von defcon4 im Forum HTC Desire SonstigesAntworten: 2Letzter Beitrag: 05.08.2010, 22:23 -
SIM Toolkit Applikation
Von hpk im Forum HTC HeroAntworten: 3Letzter Beitrag: 22.08.2009, 19:59 -
Background
Von Ziegenpeter im Forum PlaudereckeAntworten: 4Letzter Beitrag: 03.03.2005, 13:24
Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:
,
,
Pixel 10 Serie mit Problemen:...