Я пишу приложение для записи звука для WP7. У меня есть объект DispatcherTimer в моем классе ViewModel, который, когда происходит запись, подсчитывает прошедшие секунды, чтобы показать длину записи пользователю. У меня следующая проблема с приложением:
Тиковый интервал для DispatcherTimer установлен в одну секунду (1000) мс.
Когда я нажимаю кнопку запуска, запускается DispatcherTimer.
Когда я нажимаю кнопку остановки, поток DispatcherTimers завершается. (через секунду !, подумал, что я не собирался быть таким))
Если я нажимаю кнопку «Пуск» после быстрого нажатия кнопки «Стоп» (менее секунды), мой DispatcherTimer не запускается снова, так как он еще не остановился. (поток не вышел)
В основном, меня больше всего беспокоит то, почему DispatcherTimer должен ждать, пока придет время для его тика, чтобы понять, что он остановлен, и поток, созданный для выполнения тиков, должен завершиться?
Как я могу обойти эту проблему? Спасибо.