0

行の色を設定する必要があります。イベント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テーブルです。最後の 10 分間の色の行を設定するには?

4

4 に答える 4

4

行から値をキャストし、必要に応じて ( 、、必要に応じて)のDateTimeような構造のメソッドを使用し、の値を追加して過去を取得する必要があります。見てみましょう:AddMinutesAddHoursAddDaysDateTime

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");
    }
}
于 2012-07-09T13:43:04.477 に答える
2

DateTime.Now を使用して現在の日付/時刻を取得し、 AddMinutes() を使用して分を追加できます (負の値を渡すことができます)。

colValue > DateTime.Now.AddMinutes(-10)
于 2012-07-09T13:44:23.580 に答える
2
if(colValue > DateTime.Now.AddMinutes(-10))
{
  e.Row.Background = (Brush)new BrushConverter().ConvertFrom("#FCD2CD");
}
于 2012-07-09T13:43:56.097 に答える
1

日付/時刻を色に変換するカスタム値コンバーターを作成します。このようにして、色をモデルのフィールドに宣言的にバインドしたり、その逆を行うことができます。

これは、コード ビハインドで必須であるというよりも、WPF の方法です。

于 2012-07-09T13:48:18.827 に答える