Мне нужно создать приложение, которое открывает сложные окна (окна, для открытия потока пользовательского интерфейса требуется около 1 минуты). Затем, как только они открыты и загружаются, начните генерировать изображения этих Windows в файлы .jpg. делает снимки в обработчике событий Tick. Это работа для кода, который играет с потоком пользовательского интерфейса, с которой я не знаком.
Вот мой код: < /p>
protected override void DoStartCapture()
{
try
{
m_dispatcherTimers = new List();
foreach (var mimicGroup in m_mimicGroupsToCapture)
{
foreach (var mimic in mimicGroup.Mimics)
{
OpenView(mimic.View, 2);
}
var dispatcherTimer =
new DispatcherTimer
{
Interval = TimeSpan.FromSeconds(Convert.ToInt32(mimicGroup.CaptureIntervalInSeconds)),
Tag = mimicGroup
};
dispatcherTimer.Tick += M_mainDispatcherTimer_Tick;
m_dispatcherTimers.Add(dispatcherTimer);
dispatcherTimer.Start();
}
m_openViews = ViewsIntegrationService.GetOpenViews();
}
catch (Exception ex)
{
Trace.TraceError("View Capture Service error. Exception: " + ex.Message);
StopCapture();
throw;
}
}
< /code>
Когда я помещаю точку останова на линию, которая объявляет Dispatchertimer, эта строка попадает до того, как я увижу окна. Метод OpenView был записан кем -то другим.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -ui-thread
Как приложение WPF может подождать, пока Windows будет полностью открыт потоком пользовательского интерфейса перед их об ⇐ C#
Место общения программистов C#
1739348336
Anonymous
Мне нужно создать приложение, которое открывает сложные окна (окна, для открытия потока пользовательского интерфейса требуется около 1 минуты). Затем, как только они открыты и загружаются, начните генерировать изображения этих Windows в файлы .jpg. делает снимки в обработчике событий Tick. Это работа для кода, который играет с потоком пользовательского интерфейса, с которой я не знаком.
Вот мой код: < /p>
protected override void DoStartCapture()
{
try
{
m_dispatcherTimers = new List();
foreach (var mimicGroup in m_mimicGroupsToCapture)
{
foreach (var mimic in mimicGroup.Mimics)
{
OpenView(mimic.View, 2);
}
var dispatcherTimer =
new DispatcherTimer
{
Interval = TimeSpan.FromSeconds(Convert.ToInt32(mimicGroup.CaptureIntervalInSeconds)),
Tag = mimicGroup
};
dispatcherTimer.Tick += M_mainDispatcherTimer_Tick;
m_dispatcherTimers.Add(dispatcherTimer);
dispatcherTimer.Start();
}
m_openViews = ViewsIntegrationService.GetOpenViews();
}
catch (Exception ex)
{
Trace.TraceError("View Capture Service error. Exception: " + ex.Message);
StopCapture();
throw;
}
}
< /code>
Когда я помещаю точку останова на линию, которая объявляет Dispatchertimer, эта строка попадает до того, как я увижу окна. Метод OpenView был записан кем -то другим.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79432051/how-can-a-wpf-application-wait-for-windows-to-be-fully-openned-by-the-ui-thread[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия