我创建了一个转换器来将前景绑定到一个特殊值并更改它,但它始终将 val 设为 null:
public class PositionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//string vall;
//TextBlock txt= TextBlock.TextProperty(
var val = value as TextBlock;
if (val != null)
{
if (val.Text.StartsWith("-"))
{
return new SolidColorBrush(Colors.Red);
}
else
{
return new SolidColorBrush(Colors.Green);
}
}
return new SolidColorBrush(Colors.Red);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
<TextBlock FontSize="28" x:Name="solde" TextWrapping="Wrap" >
<Run Text=" Solde : " Foreground="Black"/>
<Run Text="{Binding amount}" Foreground="{Binding amount, Converter= {StaticResource PositionConverter}}" Language="fr-FR"/>
</TextBlock>