Так что кажется, что все работает, но вам нужен способ проверить (order_date> current_date) в триггере? Если это так, вы можете написать ValueConverter, например DateExpiredConverter, проверить условие и вернуть логическое значение.
Класс конвертера может выглядеть примерно так:
public class DateExpiredConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
DateTime order_date = (DateTime)value;
if (order_date > System.DateTime.Now)
{
return true;
}
else
{
return false;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new Exception("The method or operation is not implemented.");
}
}
Затем в вашем триггере вы делаете что-то вроде этого:
<Style TargetType="{x:Type WPFToolkit:DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=order_date, Converter={StaticResource DateExpiredConverter}}" Value="True">
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="Foreground" Value="LightGray"/>
</DataTrigger>
</Style.Triggers>
</Style>
Я не тестировал этот код, но он должен быть достаточно близок к тому, что вам нужно.