Member 12876243 Ответов: 2

Вычитание столбца datetime из текущего системного времени


Я пытаюсь вычесть свой столбец DateTime в моей DataGrid из текущего времени системы, а затем, если общее количество минут меньше или равно 60 минутам, мне нужно показать MessageBox.

Что я уже пробовал:

           DateTime end = (DateTime)value;
           DateTime curtime = DateTime.Now;

           TimeSpan span = end - curtime;
           double totalMinutes = span.TotalMinutes;

           if (totalMinutes <= 60)
           {

            MessageBoxResult result = MessageBox.Show("Need Attention", "Confirmation");
return true;
           }
           else
           {
               return false;
           }

2 Ответов

Рейтинг:
8

OriginalGriff

Цитата:
Мое окно сообщения, кажется, отображается для каждого столбца времени, даже если оно превышает 60 минут, не уверенных в том, что происходит.

Поэтому используйте отладчик и посмотрите, что именно находится внутри value, curtime, span, и totalMinutes - это должно начать говорить вам, что происходит, и это должно дать вам почему.

Но без запуска вашего кода и подачи значений в ваше свойство / метод все это просто догадки. Отладчик может сказать вам, что такое значения, и это то, что вам нужно.


Рейтинг:
0

Wendelius

Окно Show for mesagge никогда не выполняется, потому что оно находится после оператора return. Попробуйте изменить порядок строк

if (totalMinutes <= 60)
{
    MessageBoxResult result = MessageBox.Show("Need Attention", "Confirmation");
    return true;
}

Также обратите внимание, что если этот код находится внутри свойства, то, вероятно, неплохо переосмыслить дизайн, чтобы вы не показывали окно сообщения внутри геттера свойств.


Member 12876243

Спасибо, я исправлю это. Мое окно сообщения, кажется, отображается для каждого столбца времени, даже если оно превышает 60 минут, не уверенных в том, что происходит.

Wendelius

Этот код находится внутри объекта недвижимости? Если это так, то это, вероятно, вызывает ситуацию, так как каждый раз, когда извлекается значение свойства, отображается окно сообщения.

Member 12876243

Код находится внутри IValueConverter

Wendelius

Это, вероятно, приведет к тому же эффекту, что каждый раз, когда значение преобразуется (=запрашивается), появляется окно сообщения.