Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

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

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

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

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

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

Я не совсем понимаю какой код может потребоваться для помощи. Поэтому я прикреплю архивом проект https://yadi.sk/d/TmaHTcQkqkWVc
Notan1310 вне форума   Ответить с цитированием
Старый 14.04.2016, 19:17   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,491
Репутация: 3242

icq: 512-765
skype: alexp.frl
По умолчанию

Ну сохраняйте в файл и загружайте из него при запуске, в чем проблема?

DispatcherTimer и прочие таймеры не лучший вариант для подсчета времени, они не гарантируют срабатывание ровно раз в секунду и т.п.

Лучше например просто использовать один таймер с любым небольшим интервалом и в нем как-нибудь обновлять результат с помощью текущего времени (DateTime.Now), например отнимая от него начальное.

И вместо копипаста кода для каждой задачи можно использовать коллекцию + DataTemplate (в ItemsControl, DataGrid, ListBox, ...)

Последний раз редактировалось Alex11223; 14.04.2016 в 19:26.
Alex11223 вне форума   Ответить с цитированием
Старый 14.04.2016, 19:39   #3
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
Репутация: 10
По умолчанию

Alex11223 понял. Точнее не до конца понял по таймерам. Для сохранения я использую Settings. Какой объект мне для таймера использовать? Я нашел пример с DispatcherTimer и адаптировал его.
Notan1310 вне форума   Ответить с цитированием
Старый 14.04.2016, 19:43   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,491
Репутация: 3242

icq: 512-765
skype: alexp.frl
По умолчанию

Что непонятного в "они не гарантируют срабатывание ровно раз в секунду"?

Лучше что-нибудь типа DateTime.Now - StartTime для вычисления прошедшего времени.

Последний раз редактировалось Alex11223; 14.04.2016 в 19:46.
Alex11223 вне форума   Ответить с цитированием
Старый 15.04.2016, 06:07   #5
Notan1310
Форумчанин
 
Регистрация: 01.01.2012
Сообщений: 118
Репутация: 10
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
курсовик c# wpf MVVM Морской бой byga40 Фриланс 2 03.12.2015 20:54
WPF Mvvm CWD WPF, UWP, WinRT, XAML 0 23.07.2015 00: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


03:13.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru