Je tente de générer un DataGrid et je souhaite lier une propriété Foreground de TextColum à une date, afin qu'elle devienne rouge si la date est passée.Liaison au premier plan d'un texte DataGrid WPF Colonne
Voici le XAML:
<toolkit:DataGridTextColumn
Binding="{Binding Path=Prüfdatum, Converter={StaticResource TimestampToDateConverter}}"
Header="Prüfdatum"
Foreground="{Binding Path=Prüfdatum, Converter={StaticResource TimestampToColorConverter},
ConverterParameter=Prüfdatum}" />
Voici mon Converter:
class TimestampToColorConverter: IValueConverter
{
#region IValueConverter Member
public object Convert(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
string Datum = value.ToString();
int year = System.Convert.ToInt32(Datum.Substring(6, 4));
int month = System.Convert.ToInt32(Datum.Substring(3, 2));
int day = System.Convert.ToInt32(Datum.Substring(0, 2));
int hour = System.Convert.ToInt32(Datum.Substring(11, 2));
int minute = System.Convert.ToInt32(Datum.Substring(14, 2));
int second = System.Convert.ToInt32(Datum.Substring(17, 2));
DateTime Time = new DateTime(year, month, day, hour, minute, second);
if (Time < System.DateTime.Now)
{
return Brushes.Red as Brush;
}
else
{
return Brushes.Black as Brush;
}
}
public object ConvertBack(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
#endregion
}
Je ne sais pas ce qui est faux, mais le convertisseur est même pas CALED (le premier convertisseur fonctionne parfaitement). La fenêtre de sortie montre ceci:
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=Prüfdatum; DataItem=null; target element is
'DataGridTextColumn' (HashCode=16187528); target property is 'Foreground' (type 'Brush')
J'espère que vous pouvez me aider, les gars
Thx
Mais je veux aussi le « Prüfdatum » comme contenu (avec le paramètre Je suis d'accord, tis était seulement un test) – Tokk
Pouvez-vous définir un point d'arrêt dans le convertisseur et voir si vous obtenez la valeur? – Ragunathan
C'est la façon dont j'ai découvert que le convertisseur n'est pas appelé à l'exécution – Tokk