Как заставить окно XAML появляться и исчезать, как если бы это был курсор ожидания - PullRequest
0 голосов
/ 17 марта 2011

Вместо курсора ожидания мой пользователь хочет видеть всплывающее окно 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, а затем закрыть его в соответствующее время таким же образом, не сталкиваясь с потоком пользовательского интерфейса.

Может быть, кто-то уже видел это сделано?

...