Autor Beitrag
FrEEzE2046
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Windows 98, 2000, XP Pro, Vista Ultimate 32 & 64 Bit, Windows 7 Beta 64 Bit
C/C++, C# (VS 2008 TeamSystem) - Delphi (Delphi 5) - Java (Eclipse)
BeitragVerfasst: Mi 10.03.10 11:29 
Hallo,

ich hab einen Trigger über einen Style für Canvas definiert:

ausblenden 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>
                                        <!--<RadialGradientBrush GradientOrigin="0.5, 0.5">
                                             <GradientStop Color="#FF1E68A1" Offset="0"/>
                                             <GradientStop Color="#00000000" Offset="0.5"/>
                                             <GradientStop Color="#FF1E68A1" Offset="1"/>
                                        </RadialGradientBrush>-->

                                        <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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Windows 98, 2000, XP Pro, Vista Ultimate 32 & 64 Bit, Windows 7 Beta 64 Bit
C/C++, C# (VS 2008 TeamSystem) - Delphi (Delphi 5) - Java (Eclipse)
BeitragVerfasst: Mi 10.03.10 15:39 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
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?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 10.03.10 19:59 
Ich meinte damit, ob die Canvas überhaupt eine sichtbare Fläche besitzt, in der der Hintergrund zu sehen ist. Wenn sie aber schon vor dem Trigger einen erkennbaren eigenen Hintergrund hatte, dann fällt mir spontan nur noch eine Möglichkeit ein: Wird der Wert vielleicht durch einen aus einer anderen Quelle verdeckt (Dependency Property Value Precedence)?

_________________
>λ=
FrEEzE2046 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 109

Windows 98, 2000, XP Pro, Vista Ultimate 32 & 64 Bit, Windows 7 Beta 64 Bit
C/C++, C# (VS 2008 TeamSystem) - Delphi (Delphi 5) - Java (Eclipse)
BeitragVerfasst: Mi 10.03.10 21:30 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Wird der Wert vielleicht durch einen aus einer anderen Quelle verdeckt (Dependency Property Value Precedence)?


Denke ich nicht, da das explizite - manuelle - setzen des Background-Property ja auch funktioniert. Keine Ahnung woran es liegt.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: 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 benutzen.
Ansonsten müsstest du mal versuchen, den Code in ein selbstständiges Beispiel auszulagern, langsam gehen mir auch die Ideen aus.

_________________
>λ=