Wie kann ich eine gebundene Eigenschaft mit einem DataTrigger überschreiben?

8

Ich habe den folgenden XAML verwendet, um detaillierte Informationen über ein in einer Listenansicht ausgewähltes Element anzuzeigen. Ich möchte, dass das Rechteck die Standard-Infofarbe hinter dem Text anzeigt, außer wenn das ausgewählte Element eine Fehlermeldung darstellt. Der folgende Code funktioniert nicht so wie er ist und zeigt immer die Infofarbe an. Es funktioniert großartig, wenn ich kein Fill für das root <Rectangle /> -Element vorschlage.

%Vor%

Das Snippet spiegelt es nicht wider, aber der echte Code hat einige mögliche Statuslevel für den Schweregrad, so dass ich keinen Trigger für jeden möglichen Schweregrad definieren möchte. Die Logik, die ich möchte, ist "Verwenden Sie die Info-Farbe, wenn der Schweregrad Fehler ist, dann verwenden Sie rot".

Ich bin mir sicher, dass ich einige fundamentale Aspekte von WPF falsch verstanden habe, aber ich kann es nicht genau bestimmen. Kann mir jemand in die richtige Richtung zeigen, sodass die von mir angegebenen Datentrigger den vorhandenen Füllwert überschreiben, wenn ihre Bedingungen erfüllt sind?

    
Paul Alexander 07.05.2009, 06:29
quelle

1 Antwort

10

Du bist fast da. Anstatt die "Standard" -Fill als Attribut für Ihr Rechteck anzugeben, geben Sie es innerhalb des Stils an:

%Vor%     
Matt Hamilton 07.05.2009, 07:37
quelle

Tags und Links