У меня есть приложение WPF, которое должно генерировать снимки экрана с открытыми в настоящее время окнами, но каждое окно должно иметь свой собственный DispatcherTimer, в котором изображение генерируется при событии Tick. Каждое окно имеет свой интервал. Проблема в том, что я извлекаю список окон из базы данных, поэтому я не знаю во время выполнения, сколько нужно создать DispatcherTimers. Поэтому я не буду знать, сколько обработчиков событий Tick мне нужно написать.
Может кто-нибудь показать мне пример, где это может быть динамически в зависимости от количества окон? Это то, что я могу придумать до сих пор. Мой список окон исходит от компонента:
private List<DispatcherTimer> m_dispatcherTimers;
m_mimicGroupsToCapture = SystemConfigurationComponent.GetViewCaptureMimicGroups();
foreach (var mimicGroup in m_mimicGroupsToCapture)
{
m_dispatcherTimers.Add(new DispatcherTimer { Interval = TimeSpan.FromSeconds(Convert.ToInt32(mimicGroup.CaptureIntervalInSeconds))});
// Assign event handler to this instance's Tick event.
}
// Start all timers.
foreach (var dispatcherTimer in m_dispatcherTimers)
{
dispatcherTimer.Start();
}