How to send a WPF window to the back?

后端 未结 2 1460
无人及你
无人及你 2020-12-03 11:39

In my application I have a window I use for plotting debug data. When it loads, I would like to open it \"in the background\", behind all other windows.

What\'s the

相关标签:
2条回答
  • 2020-12-03 12:29

    You can use the following code:

    [DllImport("user32.dll")]
    static extern bool SetWindowPos(
        IntPtr hWnd,
        IntPtr hWndInsertAfter,
        int X,
        int Y,
        int cx,
        int cy,
        uint uFlags);
    
    const UInt32 SWP_NOSIZE = 0x0001;
    const UInt32 SWP_NOMOVE = 0x0002;
    
    static readonly IntPtr HWND_BOTTOM = new IntPtr(1);
    
    static void SendWpfWindowBack(Window window)
    {
        var hWnd = new WindowInteropHelper(window).Handle;
        SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
    }
    

    Source: http://www.aeroxp.org/board/lofiversion/index.php?t4983.html

    0 讨论(0)
  • 2020-12-03 12:38

    Is there any particular reason you don't want to show the window in minimized state and allow user to show it? If showing window in minimized state solves your problem, use

    <Window WindowState="Minimized" (...)>
    
    0 讨论(0)
提交回复
热议问题