如何使XAML窗口显示和消失,就像它是等待光标一样

时间:2011-03-16 22:12:16

标签: multithreading xaml .net-3.5 c#-3.0

我的用户希望看到一个XAML窗口弹出并离开 - 而不是等待光标,就像等待光标一样,但他想要一个可能在等待时显示内容的窗口。该窗口不需要是交互式的,除非将带有IsIndeterminate =“True”的ProgressBar视为交互式。窗口会像Modal一样,因为它会位于应用程序的“顶部”并且“在路上”,但它没有“关闭”按钮。

我已经有了一个简单的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 );

我需要了解Waiter如何抛出一个XAML窗口,然后在适当的时候以相同的方式关闭它,而不会在UI线程上发生冲突。

也许有人已经看过这件事吗?

0 个答案:

没有答案