在Windows10的10856这个版本中,微软为桌面版提供了一组新的应用交互方式,磁贴和Toast通知的个性化都有了一定的改善。针对磁贴方面,微软为我们提供了一组新的API来扩充我们对应用的交互方式——JumpList。但是却很少看见商店的UWP的应用使用到这个特性,暂时只发现了清新范的的礼物说和微软自家的视频(本人基本不用)应用使用了这个新的交互方式,真应该给开发者一个大大的赞!

  这种新的应用交互方式通过代码实现起来并不是很难,完全按照微软的MSDN上提供的相关文档就可以很快完成。但是现有的UWP应用中却很鲜见,不知道为什么?先看一下礼物说的是如何设计的吧!

个人感觉还是很漂亮的,由于不是很难,就简单说一下如何使用这个东西吧。

首先是判断当前的系统是否支持改特性,通过使用JumpList.IsSupported() 返回一个bool值来判断,如果支持的话会返回True;

其次就是通过JumpList.LoadCurrentAsync()来获取应用的JumpList对象;

然后通过对应的Add方法来向JumpList添加Item;

最后,如果用户点击了哪个Item,会触发App类中的OnLaunched(LaunchActivatedEventArgs e)方法,通过该参数e.Arguments来获取传递来的参数从而执行相应的逻辑操作。

前三步的示例代码如下所示:

 private async void MainPage_Loaded(object sender, RoutedEventArgs e)
{
if (JumpList.IsSupported())
{
var list = await JumpList.LoadCurrentAsync();
list.Items.Clear();//建议每次在添加之前清除掉原先已经存在的数据
list.Items.Add(JumpListItem.CreateSeparator()); new List<JumpListItem>()
{
CreateJumpListItem("facebook","Facebook","Share",new Uri("ms-appx:///Assets/facebook.png")),
CreateJumpListItem("github","Github","Share",new Uri("ms-appx:///Assets/github.png")),
CreateJumpListItem("google","Google","Share",new Uri("ms-appx:///Assets/google.png")),
CreateJumpListItem("linked-in","Linked-in","Share",new Uri("ms-appx:///Assets/linked-in.png"))
}.ForEach((item) =>
{
list.Items.Add(item);
});
await list.SaveAsync();
}
}
private JumpListItem CreateJumpListItem(string arguments, string displayName, string groupName, Uri uri)
{
JumpListItem item = JumpListItem.CreateWithArguments(arguments, displayName);
item.GroupName = groupName;
item.Logo = uri;
return item;
}

下面是对应的效果图:

  就这么几句代码很快就可以实现这种新的应用交互方式,是不是很简单呀!!!!下面贴一张图告诉你当用户点击了对应的Item时数据传递到哪里了!

红线框出的部分就是传递来的参数,是不是秒懂了!!!我并没有详细介绍相关API的参数是干什么的,MSDN文档的描述要比我描述的清晰多了。感兴趣的可以自己去看看。

注意:该特性目前只能在10586及其以上版本的PC上使用!

简单说一下UWP中的JumpList的更多相关文章

  1. 揭秘Windows10 UWP中的httpclient接口[2]

    阅读目录: 概述 如何选择 System.Net.Http Windows.Web.Http HTTP的常用功能 修改http头部 设置超时 使用身份验证凭据 使用客户端证书 cookie处理 概述 ...

  2. UWP中重用C/C++代码时踩过的一些坑

    标题中提到的UWP,主要是指用C#来写UWP的主工程,开发过程中可能需要调用C/C++实现的库. 为什么需要调用C/C++的库呢,举个例子,开源库OpenSSL实现了许多加密算法,稳定快速,我们想在应 ...

  3. UWP中使用Composition API实现吸顶(1)

    前几天需要在UWP中实现吸顶,就在网上找了一些文章: 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一 在UWP中页面滑动导航栏置顶 发现前人的实现方式大多是控制ListViewBase的Heade ...

  4. UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库

    在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...

  5. UWP 中的 LaunchUriAsync,使用默认浏览器或其他应用打开链接

    古老的 Win32 应用启动其他程序太过方便,以至于一部分开发者都已经不记得 Windows 能通过关联协议的方式通过统一资源定位符(URI)来启动应用程序了. 转到 UWP 后,使用 URI 启动应 ...

  6. UWP 中的各种文件路径(用户、缓存、漫游、安装……)

    原文 UWP 中的各种文件路径(用户.缓存.漫游.安装……) UWP 提供了多种不同文件路径访问方式,对应到不同的文件路径中.可能我们只是简单用 ApplicationData.Current 获取一 ...

  7. UWP中的消息提示框(一)

    不管什么平台,应用内难免会出现一些消息提示框,下面就来聊聊我在UWP里用到的消息提示框. 弹窗也可按是否需要用户操作促发一些逻辑进行分为两大类. 不需要用户干涉的一类: MessageDialog:操 ...

  8. UWP中的消息提示框(二)

    在UWP中的消息提示框(一)中介绍了一些常见的需要用户主动去干涉的一些消息提示框,接下来打算聊聊不需要用户主动去干涉的一些消息提示框.效果就是像双击退出的那种提示框. 先说说比较简单的吧,通过系统To ...

  9. UWP中实现自定义标题栏

    UWP中实现自定义标题栏 0x00 起因 在UWP开发中,有时候我们希望实现自定义标题栏,例如在标题栏中加入搜索框.按钮之类的控件.搜了下资料居然在一个日文网站找到了一篇介绍这个主题的文章: http ...

随机推荐

  1. 可遇不可求的Question之MySQL系统变量interactive_timeout 与 wait_timeout 篇

    mysql>show variables like '%timeout'; 打印结果如下: +----------------------------+-------+ | Variable_n ...

  2. js- DOM事件之按钮绑定函数注意事项

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. Django Model Form

    ModelForm ModelForm结合了Form和Model,将models的field类型映射成forms的field类型,复用了Model和Model验证, 写更少的代码,并且还实现了存储数据 ...

  4. 1.Spring框架入门案例

    一.简单入门案例 入门案例:IoC 1.项目创建与结构 2.接口与实现类 User.java接口 package com.jd.ioc; /** * @author weihu * @date 201 ...

  5. C#.Net平台与OPC服务器通讯

    最近,我们Ndolls工作室承接了山大某个自动化控制项目,主要做了一套工控信息化系统,其中有一个功能模块是将系统管理的一部分数据参数发送至OPC服务器,由OPC服务器接收数据后执行相应工控操作.第一次 ...

  6. Python脱产8期 Day014 2019/4/28

    一 带参装饰器 1.通常,装饰器为被装饰的函数添加新功能,需要外界的参数 # -- outer参数固定一个,就是func # -- inner参数固定同被装饰的函数,也不能添加新参数 # -- 可以借 ...

  7. Baidu WebUploader 前端文件上传组件的使用

    简介 WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流I ...

  8. TI 开发板安装USB转串口驱动

    使用TI开发板的时候,USB转串口驱动没有,显示,无法识别设备.搜了好久才搜到相关驱动. 做个记录. 链接: https://pan.baidu.com/s/1ZT5zzVcU727jrYacKVoT ...

  9. Linux下用ifconfig命令设置IP、掩码、网关

    设置IP和掩码ifconfig eth0 192.168.1.240 netmask 255.255.255.0设置网关route add default gw 192.168.1.1 每日一言:靡不 ...

  10. 大数据项目相关技术栈(Hadoop周边技术)

    J2EE 框架Spring 开发框架 + SSH or SSM Lucene 索引和查询IKAnalyzer 分词Webmagic 爬虫 ETL工具:KettleSqoop 结构化数据库-hadoop ...