程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Windows 8開發入門(十五) Windows 8中的4種視圖狀態和鎖屏通知

Windows 8開發入門(十五) Windows 8中的4種視圖狀態和鎖屏通知

編輯:關於C#

在Windows 8中的應用程序在默認打開時是全屏的,此時我們如果需要看其他應用程序就只能回到Metro 起 始頁面重新選擇其他程序嗎?這樣就會很麻煩,所以Windows 8應用程序有4種視圖狀態 (ApplicationViewState),類似於普通窗口程序的最小化、最大化一樣可以看到其他應用程序同時允許多個應 用程序的使用。

視圖狀態切換方法:用鼠標點擊屏幕最上方按住不放往右或者往左拖動、移動中間間 隔欄等等。

ApplicationViewState:

// 摘要:
        //     當前應用程序的視圖為橫向全屏
        FullScreenLandscape = 0,
        //
        // 摘要:
        //     當前應用程序視圖變為大的一部分。
        Filled = 1,
        //
        // 摘要:
        //     當前應用程序的視圖變為小的一部分
        Snapped = 2,
        //
        // 摘要:
        //     當前應用程序的視圖為縱向全屏
        FullScreenPortrait = 3,

查看視圖狀態的代碼:

public MainPage()
        {
            this.InitializeComponent();
this.SizeChanged += MainPage_SizeChanged;
        }
        /// <summary>
        /// 根據窗口大小變化顯示當前的狀態
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)
        {
            this.tbshow.Text = ApplicationView.Value.ToString();
        }

效果圖如下:

在Windows 8中從後台控制鎖屏界面的通知。

首先我們需要設置“Package.appxmanifest ”-->"應用程序UI"-->"鎖定屏幕通知"。

其次設置 “Package.appxmanifest”-->"聲明"-->添加"後台任務" ,並且勾選“推送通知”和設置入口點位項目的MainPage

代碼如下:

/// <summary>
        /// 更新鎖屏頁面的通知按鈕
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUpdateScreen_Click(object sender, RoutedEventArgs e)
        {
            XmlDocument badgeData = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
            XmlNodeList badgeXML = badgeData.GetElementsByTagName("badge");
            ((XmlElement)badgeXML[0]).SetAttribute("value", "alert");
            BadgeNotification badge = new BadgeNotification(badgeData);
            BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge);
        }
        /// <summary>
        /// 允許指定應用程序執行後台活動以及在鎖定屏幕上顯示圖塊的能力
        /// </summary>
        /// <param name="e"></param>
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            BackgroundAccessStatus status = await BackgroundExecutionManager.RequestAccessAsync();
        }

最後得到的效果圖可以通過在Windows 8系統中按Win+L鍵看到。該界面難以截圖故大家如 果敢興趣請下載源碼觀看:http://files.cnblogs.com/chengxingliang/Win8Screen.rar

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved