Несколько таймеров, которые запускаются каждый специально C# WPF
Поэтому я пытаюсь добавить таймер в новый столбец "длительность", который вычитает время начала, которое является датой, и отображает, как долго он был активен. Пока что это то, что у меня есть:
код XAML:
<DataGridTextColumn Binding="{Binding BlockName}" Header="Block" Width="200"/> <DataGridTextColumn Binding="{Binding Auditor}" Header="Auditor" Width="200"/> <DataGridTextColumn Binding="{Binding AcctAuditor}" Header="Accounting Auditor" Width="200"/> <DataGridTextColumn Binding="{Binding BlockLeader}" Header="Block Leader" Width="200"/> <DataGridTextColumn x:Name="TimeStarted" Binding="{Binding TimeStarted}" Header="Started" Width="200"/> <DataGridTextColumn x:Name="Duration" Header="Elapsed Time" Width="200"/>
с фоновым кодом:
System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); dispatcherTimer.Tick += dispatcherTimer_Tick; dispatcherTimer.Interval = new TimeSpan(0, 0, 1); dispatcherTimer.Start(); private void dispatcherTimer_Tick(object sender, EventArgs e) { foreach (DataRowView dr in BlockStatus.ItemsSource) { var diff = dr.Row.Field<DateTime>("TimeStarted").Subtract(DateTime.Now); if (diff.TotalSeconds > 0) { dr.Row["Duration"] = string.Format("{0} d {1:D2}:{2:D2}:{3:D2}", diff.Days, diff.Hours, diff.Minutes, diff.Seconds); } else { dr.Row["Duration"] = "0 d 00:00:00"; } } }
Я пытаюсь создать столбец, который будет подсчитываться в mm:ss в новом столбце, основанном на другом столбце.
Вот картинка из примера: https://prnt.sc/q2vrw3[^]
Что я уже пробовал:
Я уже спрашивал раньше, но я переформулировал и, надеюсь, объяснил это достаточно хорошо
Gerry Schmitz
Вот ваш "таймер": Дата-Время.Теперь - время старта;
Knowledged
но я бы хотел, чтобы он был разным для каждой строки в listview
johannesnestler
Да, так в чем же ваш вопрос или проблема с этим? (то, что показал Джерри, было, конечно, только для одного таймера (у вас есть разное время запуска, массив или что-то еще - вы не показали никакого кода). Я думаю, что понимаю, чего ты хочешь, но не понимаю, где ты застрял...
Knowledged
обновлен весь вопрос.
George Swan
Могу ли я спросить, какое действие останавливает таймеры? Это нажатие кнопки на кнопку, которая запустила его?
Knowledged
Нет, это была бы другая кнопка, которая останавливает его, как показано здесь: https://prnt.sc/q2vn9r