Вместо курсора ожидания мой пользователь хочет видеть всплывающее окно XAML и уходить - так же, как и курсор ожидания, но ему нужно окно, которое может показывать вещи, пока он ждет. Окно не должно быть интерактивным, если только наличие ProgressBar с IsIndeterminate = "True" не считается интерактивным. Окно будет работать так, как будто оно модальное, в том смысле, что оно будет «сверху» приложения и будет «в пути», но у него не будет кнопки «Закрыть».
У меня уже есть простой класс Waiter, который управляет моим курсором ожидания следующим образом:
public static void Wait( Action onThis, Cursor _cursor )
{
cursorStack.Push( Mouse.OverrideCursor );
Mouse.OverrideCursor = _cursor;
try
{
onThis( );
}
finally
{
Mouse.OverrideCursor = cursorStack.Pop( );
}
}
что я звоню с чем-то вроде этого:
Waiter.Wait( ( ) => LoadData( ), Cursors.Wait );
Мне нужен ключ к пониманию того, как Официант может вызвать окно XAML, а затем закрыть его в соответствующее время таким же образом, не сталкиваясь с потоком пользовательского интерфейса.
Может быть, кто-то уже видел это сделано?