首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

Windows 8 開發入門(十五):四種檢視狀態與鎖定畫面通知實作

     編輯:關於C#

Windows 8 應用支援四種 ApplicationViewState,讓多任務並行更直觀:

列舉值狀態說明
FullScreenLandscape (0)橫向全螢幕預設啟動狀態
Filled (1)填充佔較大區塊,另一應用佔側邊
Snapped (2)佔邊寬度固定 320px,適合側邊常駐
FullScreenPortrait (3)縱向全螢幕裝置旋轉 90° 時

偵測檢視狀態變更

public MainPage() {
    this.InitializeComponent();
    this.SizeChanged += MainPage_SizeChanged;
}

void MainPage_SizeChanged(object sender, SizeChangedEventArgs e) {
    tbshow.Text = ApplicationView.Value.ToString();
}
FullScreenLandscape 狀態
圖 1:橫向全螢幕狀態
Snapped 狀態
圖 2:佔邊狀態

鎖定畫面通知(Badge 更新)

  1. Package.appxmanifest → 應用程式 UI:勾選「鎖定畫面通知」,設定徽標。
  2. Package.appxmanifest → 宣告:新增「背景工作」,勾選「推播通知」,進入點設為 MainPage。
鎖定畫面通知設定
圖 3:應用程式 UI 索引標籤設定
背景工作宣告設定
圖 4:宣告索引標籤設定背景工作

程式碼:更新 Badge 與請求背景存取權

// 更新鎖定畫面 Badge(數字或圖示)
private void btnUpdateScreen_Click(object sender, RoutedEventArgs e) {
    var badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
    var badgeNode = badgeXml.GetElementsByTagName("badge")[0] as XmlElement;
    badgeNode.SetAttribute("value", "alert"); // 可為數字 1-99 或 glyph 值
    var badge = new BadgeNotification(badgeXml);
    BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge);
}

// 請求背景執行權限(於 OnNavigatedTo)
protected async override void OnNavigatedTo(NavigationEventArgs e) {
    var status = await BackgroundExecutionManager.RequestAccessAsync();
    // status 可為 Allowed、Denied、Unspecified
}

執行後按 Win+L 鎖定畫面即可看到 Badge 變化。完整原始碼:Win8Screen.rar

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved