高度280公分的北海道黄杨多少钱一棵?

小说:高度280公分的北海道黄杨多少钱一棵?作者:北马更新时间:2019-04-24字数:53842

一:需求

一款好看好用的应用,对于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----------

当前文章:http://scycxh.com/t21zsb725x.html

发布时间:2019-04-24 01:31:06

6公分紫藤价格超过8只老母鸡了,想降价继续等啊 哪里卖树型月季花? 紫藤树什么季节种好? 嫁接月季树多少钱一棵? 一家专注于培育优质、低价供应丁香树的基地想不想知道在哪里? 地径15公分黑松哪里有卖的? 黄刺玫报价哪里最准确? 虞美人花种子价格是多少? 江西草皮护坡采用哪种草? 甜象草四川可以种吗?

80583 38612 55704 59361 38764 71345 79943 16372 54341 51832 78200 54287 47377 10924 94693 90404 67896 83633 15297 32270 30551 98720 43289

我要说两句: (0人参与)

发布