WPF TextBlock Negative Zahl in Rot

8

Ich versuche herauszufinden, wie man am besten einen Style / Trigger erstellt, um den Vordergrund auf Rot zu setzen, wenn der Wert & lt; 0. Was ist der beste Weg, dies zu tun? Ich nehme DataTrigger an, aber wie kann ich nach einem negativen Wert suchen, muss ich meinen eigenen IValueConverter erstellen?

    
Michal Ciechan 08.07.2010, 15:15
quelle

3 Antworten

14

Wenn Sie kein MVVM-Modell verwenden (wo Sie eine ForegroundColor-Eigenschaft haben), ist es am einfachsten, einen neuen IValueConverter zu erstellen, der Ihren Hintergrund an Ihren Wert bindet.

In MyWindow.xaml:

%Vor%

ValueToForegroundColorConverter.cs

%Vor%     
Wonko the Sane 08.07.2010, 15:26
quelle
8

Sie sollten Ihre sichtspezifischen Informationen in Ihrem ViewModel haben. Aber Sie können die Style-spezifischen Informationen im ViewModel loswerden.

Erstellen Sie daher im ViewModel eine Eigenschaft, die einen bool -Wert zurückgibt

%Vor%

Und verwenden Sie es in einem DataTrigger, damit Sie den ValueConverter und sein Boxing / Unboxing eliminieren können.

%Vor%     
Amsakanna 09.07.2010 11:19
quelle
4

Für Amsakannas Lösung musste ich dem Property Setter einen Klassennamen hinzufügen:

& lt; Setter-Eigenschaft=" TextBlock .Forground" Wert="Rot" / & gt;

    
Erik K. 14.03.2012 20:33
quelle