У меня есть цикл:
List<FrameworkElement> list;
public void Foo(object sender, PrintPageEventArgs e)
{
foreach(FrameworkElement fe in list)
{
fe.LayoutUpdated += FeLayoutUpdated;
fe.UpdateLayout();
}
if(counter >= lista.Count)
e.PageVisual = objectFromClass. // was DoSth()
}
int counter = 0;
void FeLayoutUpdated(object sender, EventArgs e)
{
counter++
}
Так что мне нужно, чтобы DoSth () запускался всегда, когда запускается Foo () и когда все объекты FrameworkElement из списка будут обновлять свой Layout.Я пытался использовать некоторый класс Thread, а также BackgroundWorker, но я не смог достичь желаемого поведения, которое заключается в том, что основной поток ожидает, пока fe.UpdateLayout завершит свою работу.Надеюсь, я прояснил основную идею.Спасибо за ответы.