zoukankan      html  css  js  c++  java
  • 简单说一下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上使用!

  • 相关阅读:
    .NET重构(七):VS报表的制作
    【Linq】标准查询操作符
    1 TaskQueue 实现Task 队列
    1 疑惑处理
    1 JSONP
    1 Web 知识基础
    20 闭包
    1 基础知识
    Web 常用
    【Winform】2 Button
  • 原文地址:https://www.cnblogs.com/hippieZhou/p/5325871.html
Copyright © 2011-2022 走看看