磁贴

TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);    

         #region 通知1         

    #region 定义方形磁贴     

//获取模版,因为模版就是xml文档,所以此方法的返回值为XmlDocument类型的对象,在.net中就是使用XmlDocument对象操作xml文档

  XmlDocument tileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareImage);    

 /获取模版中的Img节点,因为此处使用的TagName来获取节点,模版中可能存在多个Img节点,所以返回值是XmlNodeList,是节点集合而不是单独的节点       

  XmlNodeList imgData = tileData.GetElementsByTagName("image");    

/ //查看模版架构发现,模版中的image元素的图片源是通过src属性指定的,所以要设置取src属性(这是xml不是xaml)
 //这里src是属性,不是普通节点,所以需要使用方法来设置       

  ((XmlElement)imgData[0]).SetAttribute("src", "ms-appx:///Assets/small2.png");

/ //更改好模版之后,需要一个磁贴通知对象将其封装起来

     #endregion

    #region 定义宽型磁贴        

   XmlDocument largetileData = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage);            

XmlNodeList largeimgData = largetileData.GetElementsByTagName("image");            

((XmlElement)largeimgData[0]).SetAttribute("src", "ms-appx:///Assets/2.png");           

  IXmlNode newnode = largetileData.ImportNode(tileData.GetElementsByTagName("binding").Item(0), true);          

   largetileData.GetElementsByTagName("visual").Item(0).AppendChild(newnode);          

   TileNotification largenotification = new TileNotification(largetileData);           

   调用TileUpdateManager对象将通知发送到开始屏幕    

    TileUpdateManager.CreateTileUpdaterForApplication().Update(largenotification);        

     #endregion       

      #endregion

            #region 通知2  

           #region 定义方形磁贴

            XmlDocument tileData2 = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareImage);       

      XmlNodeList imgData2 = tileData2.GetElementsByTagName("image");          

   ((XmlElement)imgData2[0]).SetAttribute("src", "ms-appx:///Assets/small3.png");

         #endregion

         #region 定义宽型磁贴            

XmlDocument largetileData2 = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideImage);            

XmlNodeList largeimgData2 = largetileData2.GetElementsByTagName("image");          

   ((XmlElement)largeimgData2[0]).SetAttribute("src", "ms-appx:///Assets/3.png");       

      IXmlNode newnode2 = largetileData2.ImportNode(tileData2.GetElementsByTagName("binding").Item(0), true);             largetileData2.GetElementsByTagName("visual").Item(0).AppendChild(newnode2);

     TileNotification largenotification2 = new TileNotification(largetileData2);          

   largenotification2.Tag = "tile2";           

    TileUpdateManager.CreateTileUpdaterForApplication().Update(largenotification2);     

        #endregion          

   #endregion        

这样,自己做的项目就可以在开始屏幕上达到了,我们想要的效果,这里我只写了两个通知(列队通知最多5个),其余的大家可以试试。(上面的代码都有注释)

磁贴更新
1.获取模版,返回xml文档
2.从文档中获取指定节点
3.为节点的属性赋值
4.将方形磁贴附件到宽型磁贴上
5.定义通知
6.发送通知

转载于:https://www.cnblogs.com/qzc900809/archive/2012/12/19/2825579.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值