Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# if()中的日期时间_C#_Wpf_Datetime_Datagrid - Fatal编程技术网

C# if()中的日期时间

C# if()中的日期时间,c#,wpf,datetime,datagrid,C#,Wpf,Datetime,Datagrid,我需要在datagrid中设置行的颜色,我使用loadingrow事件: DataRowView item = e.Row.Item as DataRowView; if (item != null) { DataRow row = item.Row; var colValue = row[3]; if (colValue > DATETIME_NOW-10_MINUTES) { e.Row.Background = (Brush)new B

我需要在
datagrid
中设置行的颜色,我使用
loadingrow
事件:

DataRowView item = e.Row.Item as DataRowView;
if (item != null)
{
    DataRow row = item.Row;
    var colValue = row[3];
    if (colValue > DATETIME_NOW-10_MINUTES)
    {
        e.Row.Background = (Brush)new BrushConverter().ConvertFrom("#FCD2CD");
    }
}
colValue
是类型
datetime
是sql表。
如何设置最近十分钟的颜色行?

您必须从行中转换值,并使用
DateTime
结构的某些方法,如(
AddMinutes
AddHours
AddDays
,根据需要)并添加负值以获得过去的
DateTime
。看一看:

if (item != null)
{
    DataRow row = item.Row;
    var colValue = (DateTime)row[3];
    if (colValue > DateTime.Now.AddMinutes(-10))
    {
        e.Row.Background = (Brush)new BrushConverter().ConvertFrom("#FCD2CD");
    }
}

您可以使用DateTime.Now获取当前日期/时间,并使用AddMinutes()添加一些分钟(您可以传递负值)

创建将日期/时间转换为颜色的。通过这种方式,您可以声明性地将颜色绑定到模型中的字段,反之亦然


这更像是WPF的方式,而不是在代码隐藏中执行命令。

投票决定结束,因为太本地化了@当我再次阅读这个问题时,我认为问题实际上是“我如何用c语言为
>DATETIME\u NOW-10\u MINUTES
编写条件?”请注意带有
DATETIME的代码。现在
检查“距事件时间10分钟”,而不是“距查询时间10分钟”(这可能是您的首选)@lc:我从一开始就是这么读的。.Net framework的用户应该从MSDN开始搜索答案,查看相关数据类型的属性/方法/事件,并查看任何示例、备注等。@sixlettervariables好吧,我试了几次才理解,所以我想你比我领先了一步。:)不管怎样,我想我确实同意你关于过于本地化的观点,当然要从MSDN开始学习
DateTime
。但是,我做了一个快速搜索,没有发现重复的询问如何在
DateTime.Add*
中使用负值的问题,因此可能值得将此项保留在这里,不管它有多简单。我认为您在这里有一个观点。我完全错过了WPF标签。
if(colValue > DateTime.Now.AddMinutes(-10))
{
  e.Row.Background = (Brush)new BrushConverter().ConvertFrom("#FCD2CD");
}
colValue > DateTime.Now.AddMinutes(-10)