简单说一下UWP中的JumpList

简介: 原文:简单说一下UWP中的JumpList  在Windows10的10856这个版本中,微软为桌面版提供了一组新的应用交互方式,磁贴和Toast通知的个性化都有了一定的改善。针对磁贴方面,微软为我们提供了一组新的API来扩充我们对应用的交互方式——JumpList。
原文: 简单说一下UWP中的JumpList

  在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来获取传递来的参数从而执行相应的逻辑操作。

 

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

 1 private async void MainPage_Loaded(object sender, RoutedEventArgs e)
 2 {
 3     if (JumpList.IsSupported())
 4     {
 5         var list = await JumpList.LoadCurrentAsync();
 6         list.Items.Clear();//建议每次在添加之前清除掉原先已经存在的数据
 7         list.Items.Add(JumpListItem.CreateSeparator());
 8 
 9         new List<JumpListItem>()
10                  {
11                      CreateJumpListItem("facebook","Facebook","Share",new Uri("ms-appx:///Assets/facebook.png")),
12                      CreateJumpListItem("github","Github","Share",new Uri("ms-appx:///Assets/github.png")),
13                      CreateJumpListItem("google","Google","Share",new Uri("ms-appx:///Assets/google.png")),
14                      CreateJumpListItem("linked-in","Linked-in","Share",new Uri("ms-appx:///Assets/linked-in.png"))
15                  }.ForEach((item) =>
16                  {
17                      list.Items.Add(item);
18                  });
19         await list.SaveAsync();
20     }
21 }
22 private JumpListItem CreateJumpListItem(string arguments, string displayName, string groupName, Uri uri)
23 {
24     JumpListItem item = JumpListItem.CreateWithArguments(arguments, displayName);
25     item.GroupName = groupName;
26     item.Logo = uri;
27     return item;
28 }
View Code

下面是对应的效果图:

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

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

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

目录
相关文章
|
前端开发 UED
[UWP]不那么好用的ContentDialog
原文:[UWP]不那么好用的ContentDialog ContentDialog是UWP开发中最常用的组件之一,一个体验良好的UWP应用很难避免不去使用它。博客园里也有许多的文章介绍如何来利用ContentDialog实现各种自定义样式的弹窗界面。
1338 0
[UWP]了解IValueConverter
原文:[UWP]了解IValueConverter 1. 前言 IValueConverter是用于数据绑定的强大的武器,它用于Value在Binding Source和Binding Target之间的转换。
974 0
[UWP]使用Acrylic(亚克力)
原文:[UWP]使用Acrylic(亚克力) 1. 前言 在 如何使用Fluent Design System 这篇文章里已经简单介绍过Reveal的用法,这篇再详细介绍其它内容。 自Windows 8 放弃Aero后,群众对毛玻璃回归的呼声一致都很大。
1532 0
|
C# 程序员
[UWP]做个调皮的BusyIndicator
原文:[UWP]做个调皮的BusyIndicator 1. 前言 最近突然想要个BusyIndicator。做过WPF开发的程序员对BusyIndicator应该不陌生,Extended WPF Toolkit 提供了BusyIndicator的开源实现,Silverlight Toolkit也有一个,这次想要把这个控件移植到UWP中。
932 0
|
C# Windows 开发工具
WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
原文 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) Windows Community Toolkit 再次更新到 5.0。
1959 0
|
C#
用WPF轻松打造iTunes CoverFlow效果
原文:用WPF轻松打造iTunes CoverFlow效果                                     用WPF轻松打造iTunes CoverFlow效果                                                       周银辉...
888 0
|
API C# Windows
起调UWP的几种方法
原文:起调UWP的几种方法 由于种种原因吧,我需要使用一个WPF程序起调一个UWP程序,下面总结一下,给自己个备份。 启动UWP程序的关键是协议启动 给我们的UWP应用添加一个协议,like this: 然后使用协议启动该UWP有一下几种方式: 1.
1027 0
|
数据安全/隐私保护 安全 API
win10 uwp ApplicationView
原文:win10 uwp ApplicationView 本文和大家介绍一个重要的类,他可以用来设置窗口,如设置启动大小,设置是否允许截图,是否进入全屏,所有和窗口有关的,都可以在他这里设置。
1210 0
|
前端开发
win10 UWP 蜘蛛网效果
原文:win10 UWP 蜘蛛网效果 我看见了知乎首页登录背景和普通的地球人写的博客,发现了个好看的效果。 那么我来告诉大家如何做这个效果。
1132 0
|
C# Windows
[UWP]了解模板化控件(3):实现HeaderedContentControl
原文:[UWP]了解模板化控件(3):实现HeaderedContentControl 1. 概述 来看看这段XMAL: 是不是觉得它们中出了一个叛徒?这个示例中除了ListBox控件其它都自带Header,但是ListBox没有Header属性,只好用一个TextBlock模仿它的Header。
1190 0