Есть кнопка, по нажатию, происходит долгая операция, в конце которой затрагивается отрисовка элемента image/
У элемента image.Source = new DrawingImage(dGroup); dGroup содержит drawingVisual элементы, которые удаляются добавляются, в процессе функции нажатия.
Проблема, если я нажимаю, 10 раз то она 10 раз будет выполнять расчеты. И вообще не понимаю, как их остановить,
По откладке, все события нажатий ложатся в очередь, и выполняются друг за другом, но Анимация, работает, как я понимаю в другом потоке. Как запретить обработку пока идет перерисовка image?
Вот такая штука не работает.
private void solveClick(object sender, EventArgs e)
{
if (!((Button)sender).IsEnabled) // пробoвал по таймеру, не помoгает, все вызовы
return;
else
{
((Button)sender).IsEnabled = false;
var selectedTabItem =(TabItemInterface) (this.TabsFunc.SelectedItem);
if (selectedTabItem.IsReady())
{
selectedTabItem.Calculate( ); // в конце вычислений обновляет содержимое DawingGroup
// this.UpdateLayout();
((Button)sender).IsEnabled = true;
}
}
}