Нет, это не так, и вы, конечно, не захотите так связывать процессор, даже если вы это сделаете.
В Silverlight вам действительно нужно привыкнуть к программированию асинхронным способом.
void SomeContainingFunc(Action callBack)
{
ShowDialog(EventOnClosed => callBack()))
}
Независимо от того, что вызывает и хочет, чтобы код продолжался после завершения асинхронной операции: -
void SomeCaller()
{
// ... do some intial stuff here
Action callBack = () =>
{
//.. code to happen after async call completed
}
SomeContainingFunc(callBack);
}