У меня есть функция в приложении silverlight, для завершения которой требуется одна или две секунды. При выполнении этой функции, я хочу, чтобы показать мои «только загрузки» UC пользователю:Принудительное повторное использование в Silverlight 3 приложение
private void ComboBoxGranularity_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
WaitScreenObject.Visibility = Visibility.Visible;
OperationThatTakesALittleTime();
WaitScreenObject.Visibility = Visibility.Collapsed;
}
Проблема заключается в том, что Silverlight не перерисовывать в то время как функция выполняется, так что мой WaitScreen не отображается. Я попробовал трюк из this question:
this.Visibility = Visibility.Visible;
, но это не сработало. Я хотел бы избежать Backgroundworker-Overhead, так что есть ли возможность сделать объект WaitScreenObject видимым?
Заранее спасибо, Frank
Я тоже не смог найти InvalidateVisual(). Я попробовал его с InvalidateArrange(), который также должен был заставить асинхронное перерисовку ... но это тоже не сработало. Похоже, я должен асинхронно вызывать свою функцию. – Aaginor
Извините, я использовал имя метода WPF InvalidateVisual, у Silverlight UIelement его нет, он имеет InvalidateArrange или InvalidateMeasure, но не похоже, что он будет работать либо из теста Johannes. – Andrew