|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.04.2016, 17:51 | #1 |
Форумчанин
Регистрация: 01.01.2012
Сообщений: 118
|
WPF Mvvm Light работа с Таймерами - C# WPF
Здравствуйте. Я пишу программу для учета своего времени. На данный момент я использую MotivateClock, но есть ряд того что мне не нравится по сугубо личными соображениям (уточню программа хорошая). И я стал делать "убогий" инструмент исключительно для себя. Не гибки, но наглядный. Без перехвата событий где я ползаю, что читаю. И расширяемым по мере необходимости. Категорий я задаю прямо в коде. Я примерно объяснил почему я делаю это.
Программа состоит из таймеров, которые нужно запускать самостоятельно, когда я работаю над нужной категорией. Для меня важно чтобы она суммировала время по всем категориям и сохранялась если я выключаю компьютер. quOq5cP_lGc.jpg Я использую паттерн MVVM. Сейчас у меня встала проблема с инициилизацией стартового времени. Мне не удается сделать так, чтобы при старте программы устанавливалось время из настроек или просто свое время. Т.е если я закрою программу и заново открою, то время с 00:00:00 начинается, но мне нужно с моего переданным через переменную. Я не совсем понимаю какой код может потребоваться для помощи. Поэтому я прикреплю архивом проект https://yadi.sk/d/TmaHTcQkqkWVc |
14.04.2016, 18:17 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну сохраняйте в файл и загружайте из него при запуске, в чем проблема?
DispatcherTimer и прочие таймеры не лучший вариант для подсчета времени, они не гарантируют срабатывание ровно раз в секунду и т.п. Лучше например просто использовать один таймер с любым небольшим интервалом и в нем как-нибудь обновлять результат с помощью текущего времени (DateTime.Now), например отнимая от него начальное. И вместо копипаста кода для каждой задачи можно использовать коллекцию + DataTemplate (в ItemsControl, DataGrid, ListBox, ...)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 14.04.2016 в 18:26. |
14.04.2016, 18:39 | #3 |
Форумчанин
Регистрация: 01.01.2012
Сообщений: 118
|
Alex11223 понял. Точнее не до конца понял по таймерам. Для сохранения я использую Settings. Какой объект мне для таймера использовать? Я нашел пример с DispatcherTimer и адаптировал его.
|
14.04.2016, 18:43 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Что непонятного в "они не гарантируют срабатывание ровно раз в секунду"?
Лучше что-нибудь типа DateTime.Now - StartTime для вычисления прошедшего времени.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 14.04.2016 в 18:46. |
15.04.2016, 05:07 | #5 |
Форумчанин
Регистрация: 01.01.2012
Сообщений: 118
|
Понял. Спасибо!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
курсовик c# wpf MVVM Морской бой | byga40 | Фриланс | 2 | 03.12.2015 19:54 |
WPF Mvvm | CWD | WPF, UWP, WinRT, XAML | 0 | 22.07.2015 23:21 |
Вложенный биндинг MVVM WPF | Egoist42 | WPF, UWP, WinRT, XAML | 0 | 29.08.2014 07:37 |
Комманды и ICommand в WPF MVVM | andy301086 | WPF, UWP, WinRT, XAML | 0 | 09.07.2012 01:04 |
WPF LisBox Selectionchanged to MVVM | Нике | WPF, UWP, WinRT, XAML | 0 | 10.04.2012 22:31 |