Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2016, 17:51   #1
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию WPF Mvvm Light работа с Таймерами - C# WPF

Здравствуйте. Я пишу программу для учета своего времени. На данный момент я использую MotivateClock, но есть ряд того что мне не нравится по сугубо личными соображениям (уточню программа хорошая). И я стал делать "убогий" инструмент исключительно для себя. Не гибки, но наглядный. Без перехвата событий где я ползаю, что читаю. И расширяемым по мере необходимости. Категорий я задаю прямо в коде. Я примерно объяснил почему я делаю это.

Программа состоит из таймеров, которые нужно запускать самостоятельно, когда я работаю над нужной категорией. Для меня важно чтобы она суммировала время по всем категориям и сохранялась если я выключаю компьютер.
quOq5cP_lGc.jpg

Я использую паттерн MVVM. Сейчас у меня встала проблема с инициилизацией стартового времени. Мне не удается сделать так, чтобы при старте программы устанавливалось время из настроек или просто свое время. Т.е если я закрою программу и заново открою, то время с 00:00:00 начинается, но мне нужно с моего переданным через переменную.

Я не совсем понимаю какой код может потребоваться для помощи. Поэтому я прикреплю архивом проект https://yadi.sk/d/TmaHTcQkqkWVc
Notan1310 вне форума Ответить с цитированием
Старый 14.04.2016, 18:17   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 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.
Alex11223 вне форума Ответить с цитированием
Старый 14.04.2016, 18:39   #3
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию

Alex11223 понял. Точнее не до конца понял по таймерам. Для сохранения я использую Settings. Какой объект мне для таймера использовать? Я нашел пример с DispatcherTimer и адаптировал его.
Notan1310 вне форума Ответить с цитированием
Старый 14.04.2016, 18:43   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 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.
Alex11223 вне форума Ответить с цитированием
Старый 15.04.2016, 05:07   #5
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
По умолчанию

Понял. Спасибо!
Notan1310 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
курсовик 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