UWP 磁贴设置
一:需求
一款好看好用的应用,对于UWP来说,动态的磁贴必不可少。
二:TileUpdateManager类 和TileUpdater类
如果需要更改或更新应用的磁贴,那么首先需要获得TileUpdater对象,顾名思义,TileUpdater就是磁贴的更新器。
通过TileUpdateManager类得到TileUpdater对象
TileUpdater tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
三:TileUpdater 磁贴更新器类
3.1 清空应用的磁贴
TileUpdater 有一个clear()方法用于清空当前应用的磁贴的内容,恢复为默认模式,默认就是一个软件的logo。该方法可以用于软件内点击按钮关闭动态磁贴的功能。
//删除所有更新并将平铺导致以显示其默认内容(如应用程序清单所声明)。
public void Clear();
tileUpdater.Clear();
3.2 更新磁贴
TileUpdater 有一个Update() 方法,用于更新磁贴,可以说是比较关键的方法了。先来看看方法的定义。
// 将内容或外观的更改应用于图块。
// notification:
// 为平铺的内容提供新的 XML 定义的对象。
public void Update(TileNotification notification);
参数需要提供一个 TileNotification 对象。查看TileNotification类的构造函数可以发现
public TileNotification(XmlDocument content);
TileNotification类的构造函数需要传递进一个XmlDocument对象。
实际上磁贴的模板就是一个xml的文件。TileNotification 对象就是用来放要更新的磁贴的模板。
四:磁铁模板
磁贴的模板可以用微软预定的磁贴模板,或者自己定义模板。
4.1获取微软预设的磁贴模板
XmlDocument xml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Block);
TileTemplateType里有很多微软预设的磁贴的模板,主要是根据不同的磁贴大小,微软自己预设的磁贴。 4.2 创建自适应磁贴模板
自适应磁贴是win10一项新的功能,允许我们针对不同的磁贴大小设定模板。 既然磁贴的模板是xml格式的,那么它就是标记性语言。你可以像xaml那样,或者用类的方式定义。
请安装名为 Microsoft.Toolkit.Uwp.Notifications 的 NuGet 程序包(搜索“notifications uwp”) xml格式:
<tile>
<visual> <binding template="TileSmall">
<text>Small</text>
</binding> <binding template="TileMedium">
<text>Medium</text>
</binding> <binding template="TileWide">
<text>Wide</text>
</binding> <binding template="TileLarge">
<text>Large</text>
</binding> </visual>
</tile>
c#格式
TileContent content = new TileContent()
{
Visual = new TileVisual()
{
TileSmall = new TileBinding()
{
Content = new TileBindingContentAdaptive()
{
Children =
{
new AdaptiveText() { Text = "Small" }
}
}
}, TileMedium = new TileBinding()
{
Content = new TileBindingContentAdaptive()
{
Children =
{
new AdaptiveText() { Text = "Medium" }
}
}
}, TileWide = new TileBinding()
{
Content = new TileBindingContentAdaptive()
{
Children =
{
new AdaptiveText() { Text = "Wide" }
}
}
}, TileLarge = new TileBinding()
{
Content = new TileBindingContentAdaptive()
{
Children =
{
new AdaptiveText() { Text = "Large" }
}
}
}
}
};
这个自适应的磁贴也仅仅是针对四种状体的磁贴定义的。因为微软的磁贴也只能有(小,中,宽,大)四种形态。分别对应(TileSmall,TileMedium ,TileWide,TileLarge)。在每种状态里,添加你需要内容即可。你可以添加PeekImage,BackgroundImage,AdaptiveText等。
如果你用的是c#写的磁贴模板,有一个TileContent.Getxml() 方法用于将c#代码转化成xml。
这样你再创建一个TileNotification对象,通过TileUpdater.update()就可以更新磁贴了。
var xmlDocument= content.GetXml(); TileNotification tileNotification = new TileNotification(xmlDocument);
TileUpdater tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
tileUpdater.Update(tileNotification);
微软开发者文档地址:https://docs.microsoft.com/zh-cn/windows/uwp/controls-and-patterns/tiles-and-notifications-create-adaptive-tiles
-------some words-------
1.Notification 通知
2..tile 磁贴
---------the end----------
UWP 磁贴设置的更多相关文章
- win10 UWP 应用设置
win10 UWP 应用设置 简单的把设置需要的,放到微软自带的LocalSettings LocalSettings.Values可以存放几乎所有数据 如果需要存放复合数据,一个设置项是由多个值组成 ...
- 【转载】UWP应用设置和文件设置:科普
数据有两个基本的分类,应用数据和用户数据,而用户数据则为由用户拥有的数据,如文档,音乐或电子邮件等,下面将大致的介绍一下应用数据的基本操作. 应用数据:应用数据包含APP的状态信息(如运行时状态,用户 ...
- UWP Windows10开发更新磁贴和动态更新磁贴
下面将介绍两种方式如何在windows10 uwp开发中如何更新应用磁贴: 实际上windows的磁贴就是用xml实现的,你只需要创建相应格式的xml就可以实现动态磁贴了 一,手动更新磁贴 二,轮询更 ...
- Windows Phone 十四、磁贴通知
磁贴(Tile) Windows Phone 磁贴种类: 小尺寸 SmallLogo:71x71: Square71x71 中等 Logo:150x150: Square150x150 宽 WideL ...
- [UWP小白日记-8]一些零碎的东西
设置启动窗口大小 直接上代码了没什么好解释的了,既然能设置最小,那铁定就能设置最大 public MainPage() { //设定窗口启动显示大小 ApplicationView.Preferred ...
- win10 uwp 入门
UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客. 关于UWP介绍可以参见:http://lib.csdn.net/article/csharp/32451 首先需要申请一 ...
- UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...
- .NET Core学习笔记(2)—— WPF使用UWP Custom Control
自.NET Core 3.0开始,某软加入了对WPF的支持.同时对XAML Islands也做了进一步加强.在.NET Core 3.0之前,我们只能在WPF程序中,通过两种方式有限制地使用Stand ...
- 2018-2-13-win10-UWP-应用设置
title author date CreateTime categories win10 UWP 应用设置 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...
随机推荐
- Lucene第二篇【抽取工具类、索引库优化、分词器、高亮、摘要、排序、多条件搜索】
对Lucene代码优化 我们再次看回我们上一篇快速入门写过的代码,我来截取一些有代表性的: 以下代码在把数据填充到索引库,和从索引库查询数据的时候,都出现了.是重复代码! Directory dire ...
- linux加载与使用ko驱动
linux驱动和有两种形式: 1:编译到内核 2:编译为ko模块 这里记录下ko模块使用方法. 首先cd到/var/lib/(内核版本)/drivers/ 在这里面找到要装载的模块ko文件 modpr ...
- Linux 文件查找
在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis wher ...
- iOS开发中KVC、KVO简介
在iOS开发中,KVC和KVO是经常被用到的.可以使用KVC对对象的属性赋值和取得对象的属性值,可以使用KVO监听对象属性值的变化.简单介绍一下KVC和KVO. 一:键值编码(KVC) KVC,全称 ...
- Zend Framework 3.0 安装及创建初始化项目教程
前言: 最近开始接触关于PHP的框架的学习,然而PHP的框架少说也有七八种. 百度了一下,有人说ThinkPHP简单暴力的,有人说Laravel高大上的,等等等等,难以抉择. 最终我还是选择先从接触Z ...
- Ubuntu16.04下安装mysql
系统信息 (lsb_release -a) Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename ...
- Oculus关于Internal Error:OVR53225466报错解决方法
安装Oculus过程中可能会出现Internal Error:OVR53225466报错提示,如附件所示: 解决方法:修改hosts文件 操作方法: (1)以管理员方式打开记事本: (2)打开C:\W ...
- Linux入门之常用命令(1)
退出系统 exit 图形界面 startx 时间 date 日历 cal [month] [year] 计算器 bc 帮助 man [command] // info [command] 在线用户 ...
- uva1267 Network
https://vjudge.net/problem/UVA-1267 题意: 有一棵树,上面有一个放着水源的点s,给出一个数k,这个水源可以覆盖路径长度到s不超过k的叶子节点.现在需要把所有的叶子节 ...
- 分享基于分布式Http长连接框架--架构模型
我画了个简单的架构图来帮助说明: 其实为发布订阅架构模式. 生产者和消费者我们统一可理解为客户端,消息中间件可认为是服务端. 生产者和消费者做为客户端要跟服务端交互,则先通过代理订阅服务端,订阅成功后 ...