Я пробую к созданному DataGrid, и я хочу связать одно из свойства TextColums' Foreground на Дату, так, чтобы это стало красным, если Дата находится в прошлом.
Здесь 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}" />
Здесь мой Преобразователь:
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
}
Я не знаю что не так, но Преобразователь даже не называют (Первый Преобразователь работает отлично). Окно вывода показывает это:
Система. Windows. Ошибка данных: 2: не Может найти управляющий FrameworkElement или FrameworkContentElement для целевого элемента. BindingExpression:Path=Prüfdatum; DataItem=null; целевой элемент
'DataGridTextColumn' (HashCode=16187528); целевое свойство является 'Передним планом' (введите 'Кисть'),
Я надеюсь, что можно помочь мне, парням
Спасибо
Поскольку вы сделали привязку к DataGrid, необходимость в «привязке» в DataGridTextColumn и ConverterParameter также не требуется, поскольку ваш конвертер не использует этот параметр. Попробуйте ниже
<toolkit:DataGridTextColumn Header="Prüfdatum" Foreground="{Binding Path=Prüfdatum, Converter={StaticResource TimestampToColorConverter}}" />