Maui8 多窗口桌面应用only for windows

fsdfsfd 280 信誉分
2025-01-06T15:19:31.18+00:00

问题1:

使用maui创建window应用,怎么关闭标题栏,除了在MauiProgram.cs中通过builder外,能否在App,page等其他中,通过调用函数解决

例如:我想关闭第二个窗口的标题实现全屏模式

问题2:

创建第二个窗口的时候怎么获取主窗口的位置

例如:根据主窗口的位置,在其下方创建第二个窗口

问题3:

多窗口之间通过什么能够通讯

开发人员技术 | .NET | .NET MAUI
Windows 商业版 | 面向 IT 专业人士的 Windows 客户端 | 用户体验 | 其他
开发人员技术 | .NET | 其他
{count} 票

问题作者接受的答案
  1. 匿名
    2025-01-08T07:28:07.61+00:00

    您好,

    设置全屏或者隐藏标题栏

    你可以在MauiProgram.cs中通过builder,设置全屏或者隐藏标题栏,关于正则表达式,你开了另外的链接,请跟随新的链接

    #if WINDOWS
                builder.ConfigureLifecycleEvents(events =>
                {
                    events.AddWindows(wndLifeCycleBuilder =>
                    {
                        wndLifeCycleBuilder.OnWindowCreated(window =>
                        {
                            window.ExtendsContentIntoTitleBar = false; /*This is important to prevent your app content extends into the title bar area.*/
                            IntPtr nativeWindowHandle = WinRT.Interop.WindowNative.GetWindowHandle(window);
                            WindowId win32WindowsId = Win32Interop.GetWindowIdFromWindow(nativeWindowHandle);
                            Microsoft.UI.Windowing.AppWindow winuiAppWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(win32WindowsId);
                            if(winuiAppWindow.Presenter is OverlappedPresenter p)
                            {
    //隐藏titlebar
                                p.SetBorderAndTitleBar(false, false);
    //设置全屏
                                winuiAppWindow.SetPresenter(AppWindowPresenterKind.FullScreen);
                            }
     
                        });
                    });
                });
    #endif
    

    同时,这些代码仅仅作用于windows 平台,使用的namespace 也需要条件编译进行包裹

    #if WINDOWS
    using Microsoft.Maui.LifecycleEvents;
    using Microsoft.UI;
    using Microsoft.UI.Windowing;
    
    #endif
    
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。