Windows Phone 8开发快速入门(七)

2024-06-12 21:08

本文主要是介绍Windows Phone 8开发快速入门(七),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



主要内容:图块和通知(图块==磁贴)

Windows Phone 8的图块

图块:为用户提供最关注的信息。图块API支持应用创建和更新图块。

图块模板:翻转,图标,循环

翻转图块模板:小型图块不翻转FlipCycleTile*.png

循环图块模板:小型图块不循环FlipCycleTile*.png

图块大小:小型,中型,大型IconicTile*.png

主图块和次级图块(Create(Uri,ShellTileData)方法创建次级模块至开始屏幕)

定义应用的图块:双击WMAppMainifest.xml-->Application UI

 

本地图块

更新使用ShellTileSchedule

创建图块

Public static void SetTile(RecipeDataItem item,string NavSource)

{

FlipTileData tileData=new FlipTileData()

{

//Front square data

Title=item.Title,

BackgroundImage=newUri("ms-appx:///background1.png",UriKind.Relative),

SmallBackgroundImage=newUri("ms-appx:///smallbackground1.png",UriKind.Relative),

//Back square data

BackTitle=item.Title,

BackContent=item.Ingredients,

BackBackgroundImage=newUri("ms-app0x:///background1.png",UriKind.Relative),

//Wide tile data

WideBackgroundImage=newUri("ms-appx:///widebackground1.png",UriKind.Relative),

WideBackBackgroundImage=newUri("ms-appx:///widebackbackground1.png",Urikind.Relative),

WideBackContent=item.Direction

};

//Create Tile and pin it to Start. Causes a navigation to start anda deactivation of our application

ShellTile.Create(newUri("/RecipePage.xaml?DefaultTitle=FromTile",UriKind.Relative),titleData,true);

}

 

使用ShellTileSchedule更新图块

更新图块

//Find the Tile we want to update.

ShellTileTileToFind=ShellTile.ActiveTiles.FirstOrDefault(x=>x.NavigationUri.ToString().Contains("DefaultTitle=FromTile"));

//If the Tile was found , then updata the Title.

If(TileToFind!=null)

{

FlipTileData NewTileData=new FlipTileData

{

Title=textBoxTitle.Text

};

TileToFind.Update(NewTileData);

Updating the Application Tile

Public static void UpdateMainTile(RecipeDataGroup group)

{

//Get application's main tile-application tile always first item inthe ActiveTiles collection whether it is pinned or not

Var mainTile=ShellTile.ActiveTiles.FirstOrDefault();

IconicTileData tileDaa=new IconicTileData()

{

Count=group.RecipesCount,

BackgroundColor=Color.FromArgb(255,195,61,39),

Title="Contoso Cookbooks",

IconImage=newUri("ms-appx:///local/shared/shellcontent/newMedLogo.png",UriKind.RelativeOrAbsolute),

SmallIconImage=newUri("ms-appx:///local/shared/shellcontent/newSmlLogo.pg",UriKind.RelativeOrAbsolute),

WideContent1="Recent activity:",

WideContent2="Browsed"+group.Title+"group",

WideContent3="with totalof"+group.RecipesCount+"recipes"

};

mainTile.Updata(tileData);

}

后台代理更新图块

可以使用ShellTileSchedule来更新应用图块背景图像和次要图块

 

Windows Phone 8的锁定屏幕通知

创建锁定屏幕图标

XML编辑器中修改WMAppManifest.xml

<Tokens>

<PrimaryToken TokenId="PhoneApp4Token"TaskName="_default">

<TemplateFlip>

……

<DeviceLockImageURI>MyLockIcon.png</DeviceLockImageURI>

</TemplateFlip>

</PrimaryToken>

</Tokens>

更改应用程序清单

XML编辑器中修改WMAppManifest.xml

<Extensions>

<ExtensionExtensionName="LockScreen_Notification_IconCount"ConsumerID="{111DFF24-AA15-4A96-8006-2BFF122084f}"TaskID="_default"/>

<ExtensionExtensionName="LockScreen_Notification_TextField"ConsumerID="{111DFF24-AA15-4A96-8006-2BFF122084f}"TaskID="_default"/>

</Extensions>

在模拟器仪表板中测试

VS-->Tools-->SimulationDashboard-->Lock Screen

 

Windows Phone 8的锁定屏幕背影

更新应用程序清单文件

XML编辑器中修改WMAppManifest.xml

<Extensions>

<ExtensionExtensionName="LockScreen_Background"ConsumerID="{111DFF24-AA15-4A96-8006-2BFF122084f}"TaskID="_default"/>

</Extensions>

添加代码以更改锁定屏幕背景

Private async void lockHelper(Uri backgroundImageUri,stringbackgroundAction)

{

Try

{

//If you're not the provider, this call will prompt the user forpermission.

//Calling RequestAccdessAsync from a background agent is notallowed.

Var op=await LockScreenManager.RequestAccessAsync();

//Check the status to make sure we were given permission.

Boo isProvider=LockScreenManager.IsProvidedByCurrentApplication;

If(isProvider)

{

//Do the update.

Windows.Phone.System.UserProfile.LockScreen.SetImageUri(backgroundImageUri);

System.Diagnostics.Debug.WriteLine("New current image set to{0}",backgroundImageUri.ToString());

}

Else

{

MessxageBox.Show("You said no, so I can't update yourbackground.");

}

}

Catch(System.Exception ex)

{

System.Diagnostics.Debug.WriteLine(ex.ToString());

}

}

//If you're not the provider, this call will prompt the user forpermission.

//Calling RequestAccessAsync from a background agent is not allowed.

Var op=await LockScreenManager.RequestAccessAsync();

访问本地文件

应用程序的图片,采用ms-appx:///

Uri imageUri=newUri("ms-appx:///background1.png",UriKind.RelativeOrAbsolute);

LockScreen.SetImageUri(imageUri);

本地文件夹中的图片,采用ms-appdata:///local/shared/shellcontent

Uri imageUri=newUri("ms-appdata:///local/shared/shellcontent/background2.png",UriKind.RelativeOrAbsolute);

LockScreen.SetImageUri(imageUri);

 

这篇关于Windows Phone 8开发快速入门(七)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055342

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联