Daten Trigger mit Konverter funktioniert nicht

Ich versuche zu aktualisieren, die Farbe der textblock, der je nach Wert. Scheint einfach, aber funktioniert nicht.

Hier ist der xaml textblock.

 <TextBlock 
        Grid.Column="1" 
        Grid.Row="1" 
        Text="{Binding Path=GL, StringFormat={}{0:N0}}" 
        HorizontalAlignment="Left" 
        FontFamily="Verdana" 
        Foreground="Tomato" 
        FontWeight="Bold"             
        VerticalAlignment="Center"
        Margin="5,2,5,0"
        FontSize="18"
        >
        <TextBlock.Resources>
            <converters:ColorConverter x:Key="CoConverter"></converters:ColorConverter>
        </TextBlock.Resources>
      <TextBlock.Style>
          <Style>
              <Style.Triggers>
                  <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text, Converter={StaticResource ResourceKey=CoConverter}}" Value="true">
                  <Setter Property="TextBlock.Foreground" Value="LimeGreen" />
                      </DataTrigger>
              </Style.Triggers>
          </Style>
      </TextBlock.Style>

Hier der Konverter

public class ColorConverter : MarkupExtension, IValueConverter
{

    #region IValueConverter Members

    public object Convert(object value, 
        Type targetType, 
        object parameter, 
        System.Globalization.CultureInfo culture)
    {
        if (value == null)
            return false;
        if (value.ToString().Length == 0)
            return false;
        if (System.Convert.ToDouble(value) >= 0)
            return true;

        return false;
    }

    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        return this;
    }
}

Der Konverter sieht gut aus, aber der trigger ist nicht anzuwenden für aus irgendeinem Grund.

Was haben Sie versucht? haben Sie einen Haltepunkt festlegen und sah, dass Sie erreichen den Wandler aus dem XAML?
Ja, der Konverter feuert
Was den text des textblock-und was Wert ist umgestimmt, indem Sie Ihre Software?
text ist doppelt-Nummer und, ist derselbe, der recd. durch den Konverter. Der Konverter gibt true oder false zurück, abhängig vom Wert, der größer als 0 ist oder nicht. Während des Debuggens der Konverter sieht gut aus.

InformationsquelleAutor Rauld | 2011-10-11

Schreibe einen Kommentar