Entwickler-Ecke
WPF / Silverlight - Trigger für Canvas funktioniert nicht korrekt
FrEEzE2046 - Mi 10.03.10 11:29
Titel: Trigger für Canvas funktioniert nicht korrekt
Hallo,
ich hab einen Trigger über einen Style für Canvas definiert:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| <Style TargetType="{x:Type Canvas}"> <Style.Triggers> <Trigger Property="local:MainWindow.CanvasAmbient" Value="1"> <Setter Property="Background"> <Setter.Value> <SolidColorBrush Color="Azure"/> </Setter.Value> </Setter> <Setter Property="Width" Value="100"/> </Trigger> </Style.Triggers> </Style> |
Mein Problem dabei ist, dass lediglich der zweite Setter "Width" ausgeführt wird. Die Farbe des Canvas bleibt hingegen gleich. Was mache ich falsch?
Kha - Mi 10.03.10 14:38
Dumm gefragt: Hat es denn eine Höhe :nixweiss: ?
Canvas schert sich nicht wirklich um seine Größe, es zeigt auch Children außerhalb seiner eigentlichen Fläche an. Hab schon öfters ein Canvas-Element mit Höhe und Breite 0 benutzt ;) .
FrEEzE2046 - Mi 10.03.10 15:39
Kha hat folgendes geschrieben : |
Dumm gefragt: Hat es denn eine Höhe :nixweiss: ? |
Hi,
da hast du micht falsch verstanden. Der Code - den nich nur zum Testen eingefügt habe - mit dem Width funktioniert ja. Ich bekomme es aber nicht hin den Background zu füllen.
Irgendeine Idee?
FrEEzE2046 - Mi 10.03.10 21:30
Denke ich nicht, da das explizite - manuelle - setzen des Background-Property ja auch funktioniert. Keine Ahnung woran es liegt.
Kha - Mi 10.03.10 21:47
Das muss ja nicht unbedingt etwas heißen, denn ein "lokaler Wert"
hat eben eine höhere Priorität als ein Style-Setter ;) . Zum Ermitteln der Quelle könntest du
DependencyPropertyHelper.GetValueSource oder gleich
Mole [
http://karlshifflett.wordpress.com/mole-for-visual-studio/] benutzen.
Ansonsten müsstest du mal versuchen, den Code in ein selbstständiges Beispiel auszulagern, langsam gehen mir auch die Ideen aus.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!