如何以编程方式移动和最小化 Maui Windows 应用程序

Ped*_*aha 2 c# winui-3 maui .net-maui

我有一个带有 blazor 的毛伊岛应用程序,我正在创建一个自定义标题栏。

我即将关闭 maui 应用程序,在 blazor 上使用Application.Current.Quit();

现在我怎样才能最小化和移动毛伊岛应用程序

我的代码 Blazor

private void MoveWindow()
{
    
}

private void MinimizeWindow()
{
        
}


private void CloseWindow() {
    Application.Current.Quit();
}
Run Code Online (Sandbox Code Playgroud)

Meg*_*tos 6

Maui已经有一个最小化应用程序的功能。

在您的 Blazor 中使用以下内容:

private void MinimizeWindow()
{
#if WINDOWS
    var Window = App.Current.Windows.First();
    var nativeWindow = Window.Handler.PlatformView;
    IntPtr windowHandle = WinRT.Interop.WindowNative.GetWindowHandle(nativeWindow);
    WindowId WindowId = Win32Interop.GetWindowIdFromWindow(windowHandle);
    AppWindow appWindow = AppWindow.GetFromWindowId(WindowId);

    var p = appWindow.Presenter as OverlappedPresenter;

    p.Minimize();
#endif
}
Run Code Online (Sandbox Code Playgroud)