国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MAUI桌面端標(biāo)題欄設(shè)置和窗口調(diào)整

這篇具有很好參考價(jià)值的文章主要介紹了MAUI桌面端標(biāo)題欄設(shè)置和窗口調(diào)整。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

寫(xiě)在前面

如果你現(xiàn)在開(kāi)始學(xué)習(xí)并使用MAUI開(kāi)發(fā)桌面端,那么接下來(lái)的問(wèn)題相信你都會(huì)遇到并且會(huì)想著嘗試找方法解決它

問(wèn)題

本人在使用目前VS2022最新版17.4Professional版創(chuàng)建新的MAUI APP 基于.NET6.0項(xiàng)目時(shí),發(fā)現(xiàn)完全找不到根wpf一樣的WindowStyle或者ResizeMode這樣的屬性,有點(diǎn)強(qiáng)迫癥,一定要把這個(gè)標(biāo)題欄去掉,想著應(yīng)該不難,但是資料太少了,文檔寫(xiě)的也很亂根本無(wú)法對(duì)應(yīng)到這個(gè),找著找著,加到了站長(zhǎng),在他耐心的幫忙下,我解決了這個(gè)問(wèn)題,所以特別感謝Donet9站長(zhǎng)風(fēng)中一匹狼!

maui自帶的windows下的窗口是這樣的(完全不在我審美上)

MAUI桌面端標(biāo)題欄設(shè)置和窗口調(diào)整,MAUI,microsoft,wpf,windows,ui

解決方法

一開(kāi)始,我是根據(jù)站長(zhǎng)網(wǎng)站里提供的方法
鏈接: Maui學(xué)習(xí)之路(1)-Windows窗體設(shè)置.
雖然能正常根據(jù)里面操作了,但是我操作的時(shí)候可能是我操作的問(wèn)題,老師實(shí)現(xiàn)不了,只把標(biāo)題欄根下面的content融在一起,標(biāo)題欄還是在那,而且我不好改顏色

加了站長(zhǎng)微信,站長(zhǎng)耐心的幫我找了大佬Chister.Wu的Demo,對(duì)照他的Demo終于是把這個(gè)問(wèn)題解決了,現(xiàn)在總結(jié)下針對(duì)去掉原本標(biāo)題欄

1.完美去掉標(biāo)題欄,下面是代碼,寫(xiě)在MauiProgram.cs里配置生命周期方法,具體的資料在上面的鏈接: Maui學(xué)習(xí)之路(1)-Windows窗體設(shè)置.里也有,但是看起來(lái)比較麻煩,直接看代碼可能好理解一點(diǎn)

var builder = MauiApp.CreateBuilder();
builder.UseMauiApp<App>()
		.ConfigureFonts(fonts =>
		{
			fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
			fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
		})
		.ConfigureLifecycleEvents(events =>
         {

#if WINDOWS
        events.AddWindows(windows => windows
        .OnWindowCreated(window =>
                      {
                          //window.SizeChanged += OnSizeChanged;
                          MauiWinUIWindow mauiwin = window as MauiWinUIWindow;
                          if (mauiwin == null) { return; }
                          
                          //關(guān)閉擴(kuò)展內(nèi)容
                          mauiwin.ExtendsContentIntoTitleBar = false;
                          mauiwin.Title = "Hello Maui";
                          
                          
                          通過(guò)maui窗口句柄獲取appwindow---
                          ///這里有個(gè)操蛋的東西我用最新版新建的工程沒(méi)法直接getappwindow所以用了文章里的方法
                          var wndId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(mauiwin.WindowHandle);
                          Microsoft.UI.Windowing.AppWindow appwin = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(wndId);

                          //對(duì)于OverlappedPresenter的解釋文檔在這個(gè)網(wǎng)址
                          //https://learn.microsoft.com/zh-tw/windows/windows-app-sdk/api/winrt/microsoft.ui.windowing.overlappedpresenter?view=windows-app-sdk-1.2
                          
                          //大致就是OverlappedPresenter會(huì)設(shè)置這個(gè)窗口,這個(gè)窗口可以和其他窗口重疊,并對(duì)窗口標(biāo)題欄 狀態(tài)欄 工作欄進(jìn)行設(shè)置,以及其他一些調(diào)整窗口的操作
                          var customOverlappedPresenter = Microsoft.UI.Windowing.OverlappedPresenter.CreateForContextMenu();
                          appwin.SetPresenter(customOverlappedPresenter);
                      }));    
#endif
            });

        return builder.Build();

原理就是重寫(xiě)創(chuàng)建窗口的方法,在這里重寫(xiě)有個(gè)好處,窗口加載之后會(huì)刷新,我在Mainpage.CS下寫(xiě)Loaded的方法的話雖然標(biāo)題欄的按鈕去掉了,但是標(biāo)題欄那塊并沒(méi)有去掉,把站長(zhǎng)的文章和Demo給的結(jié)合起來(lái)才實(shí)現(xiàn)了這樣

效果圖,完美去掉了:MAUI桌面端標(biāo)題欄設(shè)置和窗口調(diào)整,MAUI,microsoft,wpf,windows,ui

2.直接在MainPage里寫(xiě)Loaded方法,這也是一開(kāi)始我用的方法,代碼如下:
不足之處就是她會(huì)有一個(gè)類似WPF的captionheight標(biāo)題欄那樣的東西,視圖沒(méi)完全刷新

private void ContentPage_Loaded(object sender, EventArgs e)
    {

#if WINDOWS
        var winuiWindow = Window.Handler?.PlatformView as  Microsoft.UI.Xaml.Window;
		MauiWinUIWindow maui = winuiWindow as MauiWinUIWindow;

        winuiWindow.ExtendsContentIntoTitleBar = false;
        if (winuiWindow is null)
            return;

		var wndId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(maui.WindowHandle);
        Microsoft.UI.Windowing.AppWindow appWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(wndId);
        //var appWindow = maui.GetAppWindow();
        if (appWindow is null)
            return;

        var customOverlappedPresenter =  Microsoft.UI.Windowing.OverlappedPresenter.CreateForContextMenu();
        appWindow.SetPresenter(customOverlappedPresenter);
#endif
    }

以上就是去標(biāo)題欄的方法,想要代碼的可以去gitee上自己下載,鏈接: maui-title-handle-demo.

另外對(duì)于后續(xù)窗口的大小調(diào)整,自定義放大縮小按鈕可以參考MauiDemo.,注意一定要看清自己的項(xiàng)目配置

參考文章:
Maui學(xué)習(xí)之路(1)-Windows窗體設(shè)置.

參考Demo
MauiDemo.文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-663913.html

到了這里,關(guān)于MAUI桌面端標(biāo)題欄設(shè)置和窗口調(diào)整的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • VS+Qt設(shè)置窗口尺寸(二):窗體控件自適應(yīng)窗口布局,自動(dòng)調(diào)整大小

    VS+Qt設(shè)置窗口尺寸(二):窗體控件自適應(yīng)窗口布局,自動(dòng)調(diào)整大小

    VS版本:VS2019 QT版本:Qt5.12.3(msvc2017_64) 為了適配不同尺寸的顯示屏,軟件窗口需要調(diào)整大小,窗口內(nèi)的控件尺寸也要適配窗口的大小。 本例重點(diǎn)講述如何設(shè)置可調(diào)整尺寸的窗口及控件,實(shí)現(xiàn)窗口最大化和尺寸調(diào)節(jié)。 本例使用相對(duì)簡(jiǎn)單的按鍵和文本框來(lái)做示例,其他控件均可

    2023年04月23日
    瀏覽(127)
  • Qt Windows 去掉標(biāo)題欄后 最大化窗口時(shí)任務(wù)欄被窗口遮住問(wèn)題

    在寫(xiě)Qt窗口時(shí),假如對(duì)窗口設(shè)置了 Qt::FramelessWindowHint 或者 Qt::CustomizeWindowHint 標(biāo)志,會(huì)發(fā)現(xiàn)窗口在副屏上最大化會(huì)遮住任務(wù)欄。 假如自己實(shí)現(xiàn)最大化來(lái)解決這個(gè)問(wèn)題,雖然能夠解決,但窗口狀態(tài)就需要自己維護(hù) 在Windows中通過(guò)攔截窗口消息的方式可以更優(yōu)雅的解決這個(gè)問(wèn)題 在

    2024年02月05日
    瀏覽(36)
  • 【無(wú)標(biāo)題】Unity隨手記——給Scene窗口內(nèi)的物體設(shè)置SelectIcon

    【無(wú)標(biāo)題】Unity隨手記——給Scene窗口內(nèi)的物體設(shè)置SelectIcon

    由于開(kāi)發(fā)項(xiàng)目,某個(gè)Scene場(chǎng)景內(nèi)會(huì)有很多的靜態(tài)物體。我們?cè)贖ierarchy窗口中選中后,雖然有三維坐標(biāo)顯示在物體上,但是也很難分辨。 于是unity提供了給編輯物體設(shè)置icon。 ?這些icon大家都很熟悉了吧。 問(wèn)題來(lái)了,如果是一個(gè)兩個(gè)物體,我手動(dòng)設(shè)置下沒(méi)問(wèn)題。如果幾十個(gè),或

    2023年04月09日
    瀏覽(22)
  • 解決windows由于分辨率調(diào)整導(dǎo)致的桌面圖標(biāo)位置亂序

    解決windows由于分辨率調(diào)整導(dǎo)致的桌面圖標(biāo)位置亂序

    https://www.zhihu.com/question/328534753 https://baijiahao.baidu.com/s?id=1724804313296173730wfr=spiderfor=pc windows電腦由于連接(擴(kuò)展)外接顯示器、全屏游戲、遠(yuǎn)程桌面連接等會(huì)導(dǎo)致分辨率調(diào)整,從而導(dǎo)致桌面上排列好的圖片會(huì)變亂,這里有兩種方式解決: 通過(guò)修改注冊(cè)表項(xiàng)來(lái)解決 通過(guò)桌面圖標(biāo)

    2024年01月23日
    瀏覽(29)
  • WPF自定義控件庫(kù)之Window窗口

    WPF自定義控件庫(kù)之Window窗口

    在WPF開(kāi)發(fā)中,默認(rèn)控件的樣式常常無(wú)法滿足實(shí)際的應(yīng)用需求,我們通常都會(huì)采用引入第三方控件庫(kù)的方式來(lái)美化UI,使得應(yīng)用軟件的設(shè)計(jì)風(fēng)格更加統(tǒng)一。常用的WPF的UI控件庫(kù)主要有以下幾種,如: Modern UI for WPF , MaterialDesignInXamlToolkit ,PanuonUI,Newbeecoder.UI,WPF UI , AduSkin ,

    2024年02月08日
    瀏覽(32)
  • iPad遠(yuǎn)程控制Windows PC - Microsoft遠(yuǎn)程桌面

    iPad遠(yuǎn)程控制Windows PC - Microsoft遠(yuǎn)程桌面

    有時(shí)我們坐在客廳里,想來(lái)一局游戲,怎奈何主機(jī)太遠(yuǎn),接不上電視,這個(gè)時(shí)候我們就可以利用iPad當(dāng)作中繼器,插上電視,享受大屏帶來(lái)的震撼...... 有時(shí)我們躺在床上,不想到電腦上玩游戲,我們就可以用iPad遠(yuǎn)程游戲,低延遲也可以讓我們大展拳腳...... Microsoft遠(yuǎn)程桌面詳細(xì)

    2024年02月06日
    瀏覽(23)
  • Flutter筆記:桌面應(yīng)用 窗口定制庫(kù) bitsdojo_window

    Flutter筆記:桌面應(yīng)用 窗口定制庫(kù) bitsdojo_window

    Flutter筆記 桌面應(yīng)用窗口管理庫(kù) bitsdojo_window 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 郵箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/134464678 高級(jí):多窗口管理,請(qǐng)?zhí)D(zhuǎn)到:《Flutter桌面端應(yīng)用多窗口管理》,地址:https://jclee95.blog.csdn.net

    2024年02月01日
    瀏覽(24)
  • C# Windows API應(yīng)用:獲取桌面所有窗口句柄的方法

    C# Windows API應(yīng)用:獲取桌面所有窗口句柄的方法 在 C# 的 Windows 應(yīng)用程序開(kāi)發(fā)中,我們常常需要獲取桌面上所有窗口的句柄,以便進(jìn)行一些窗口管理或者后續(xù)操作。本文將介紹一種利用 Windows API 獲取桌面所有窗口句柄的方法,并提供相應(yīng)的源代碼和描述。 在開(kāi)始之前,我們需

    2024年02月05日
    瀏覽(39)
  • Mac電腦遠(yuǎn)程連接Windows桌面Microsoft Remote Desktop

    Mac電腦遠(yuǎn)程連接Windows桌面Microsoft Remote Desktop

    怎么用Mac電腦遠(yuǎn)程控制Windows呢?Microsoft Remote Desktop是一款運(yùn)行在Mac平臺(tái)上的微軟遠(yuǎn)程桌面連接工具,配置連接時(shí),Microsoft遠(yuǎn)程桌面允許您決定應(yīng)使用的分辨率,顏色質(zhì)量,全屏模式,是否要全屏啟動(dòng)會(huì)話,是否使用所有尖視器,或者內(nèi)容應(yīng)該縮放。使用這款軟件用戶就可以輕

    2024年02月02日
    瀏覽(19)
  • MAUI 框架開(kāi)發(fā) 將 MAUI 嵌入到 WPF 控件里

    本文將介紹如何將 MAUI 的底層替換為 WPF 框架層,且將 MAUI 的內(nèi)容嵌入到 WPF 的一個(gè)控件里面,無(wú) UI 框架嵌入的空域問(wèn)題 本文是 MAUI 框架開(kāi)發(fā)博客,而不是 MAUI 應(yīng)用開(kāi)發(fā)博客,本文更多介紹的是進(jìn)行 MAUI 這個(gè)框架的開(kāi)發(fā)內(nèi)容。不熟悉或不進(jìn)行 MAUI 框架開(kāi)發(fā)的伙伴也可以看著玩

    2024年02月17日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包