win10 uwp ApplicationView
本文和大家介紹一個重要的類,他可以用來設置窗口,如設置啟動大小,設置是否允許截圖,是否進入全屏,所有和窗口有關的,都可以在他這裏設置。
可以使用簡單獲取ApplicationView applicationView = ApplicationView.GetForCurrentView();
,註意,他是不能構造創建
先從屬性開始
第一個屬性是 AdjacentToLeftDisplayEdge ,判斷是不是靠近屏幕左邊,在和屏幕只有20像素之內就是,但是其他包括窗口在屏幕外就不是。和他差不多的有屬性 AdjacentToRightDisplayEdge 判斷是否靠近右邊緣。
這個屬性和獲得窗口變化一起使用。
如何獲得窗口大小變化?使用 CoreWindow.GetForCurrentThread().SizeChanged 可以獲得窗口大小變化,可以獲得是否靠近屏幕左邊。
第二是 DesiredBoundsMode
感覺沒什麽用,指示框架用於排列窗口內容邊界值
FullScreenSystemOverlayMode
全屏響應手勢的模式,包括手勢可調用系統覆蓋(標題 任務欄), 邊緣手勢可調用臨時 UI,而此UIElement反過來可調用對於該邊緣的系統覆蓋獲取窗口 ID,使用 applicationView.Id ,對於UWP可以使用多個窗口,因為需要區分是哪個窗口,所以就可以使用這個。
如何判斷是否進入全屏?使用 applicationView.IsFullScreenMode 。判斷是否全屏的功能,和他相同的 applicationView.IsFullScreen 也可以,但是這個不推薦
如何獲得窗口處於鎖屏? applicationView.IsOnLockScreen 我自己嘗試鎖屏但是依舊無法獲得,如果知道這個是什麽,請告訴我。
如何設置可以不截圖?有些應用需要有秘密,不可以被截圖,可以使用
applicationView.IsScreenCaptureEnabled
如果設置 false,所有應用難以對程序截圖。如果對於顯示密碼或其他的頁面,是要求打開這個設置,也就是在輸入密碼時,是需要設置不可截圖,如果設置了,那麽截圖是黑色,無法獲得。在不顯示密碼時,可以設置為 true,這時可以截圖。首先做一個簡單的按鈕,在點擊他就設置為false,不可截圖。在點擊前,使用 Q 截圖,發現可以
點擊之後,截圖看到的
如果設置了,可以看到,但是不可以獲取,可以對信息安全要求高的程序進行使用,但是設置了性能可能沒有之前好。
關於不可截圖,代碼:https://code.msdn.microsoft.com/windowsapps/Disable-screen-capture-00efe630
這個對於應用內截圖是不是還可以使用,我還沒去試,如果有大神做了,可以的話,請告訴。
如何獲取窗口是橫向顯示?applicationView.Orientation 可以獲取窗口是寬度大於高度,也就是橫向,還是相反。
不是使用屏幕反向,是軟件的寬度等,是不是看起來是橫向
PreferredLaunchViewSize 這個屬性是設置窗口大小使用,在設置 PreferredLaunchWindowingMode 為 PreferredLaunchViewSize 可以使用,使用方法:
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
ApplicationView.PreferredLaunchViewSize = new Size(100, 100);
如果設置無效,那麽在最前設置 applicationView.SetPreferredMinSize(new Size(100,100));
PreferredLaunchWindowingMode ms建議使用 auto
如果對於多窗口程序,可以設置 TerminateAppOnFinalViewClose 在關閉所有窗口關閉程序
如何設置窗口標題?使用 applicationView.Title = “標題” 設置會在標題顯示 “標題-程序”
設置標題欄顏色 applicationView.TitleBar 可以獲得標題欄,可以通過設置屬性自定義標題欄
BackgroundColor
ButtonBackgroundColor
獲取窗口可見區 applicationView.VisibleBounds ,通過 applicationView.VisibleBoundsChanged 可以知道隱藏或顯示標題欄會改變窗口可見大小的方法
退出全屏 applicationView.ExitFullScreenMode(); 只有在桌面才可以使用
進入全屏 applicationView.TryEnterFullScreenMode()
修改窗口大小 applicationView.TryResizeView() 只有桌面才可以使用
全屏顯示標題欄 applicationView.ShowStandardSystemOverlays()
參見:https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.applicationview
本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發布。如有任何疑問,請與我聯系。
win10 uwp ApplicationView