win8之Tile练习

来源:互联网 发布:时标网络计划图总时差 编辑:程序博客网 时间:2024/06/06 12:39

win8系统的开始屏由各种应用的Tile构成,这些磁贴拥有丰富的信息交互功能,而Tile通知就是其中重要的通知形式之一,其作用就是向这些开始屏上的应用Tile推送消息,实时显示应用程序的最新消息数据,使用户在不打开应用的情况下,了解应用更新信息。

首先新建一个项目,并在Package.appxmanifest文件中为应用设置宽微标图片。在MainPage.xaml中定义界面

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">        <Button x:Name="SendTitleUpdate" Click="SendTitleUpdate_Click" Content="发送tile更新通知" Height="112" Width="241" Margin="0,325,0,331" FontSize="36"/>    </Grid>

接下来编写按钮的单击事件

private void SendTitleUpdate_Click(object sender, RoutedEventArgs e)        {            TileUpdateManager.CreateTileUpdaterForApplication().EnableNotificationQueue(true);            XmlDocument TitleXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText06);            //XmlDocument TitleXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWidePeekImage06);            XmlNodeList textElement = TitleXml.GetElementsByTagName("text");            int index = 1;            foreach (XmlElement TitleTextAttr in textElement)            {                TitleTextAttr.InnerText = "文本区域" + Convert.ToString(index);                index++;            }            textElement[0].InnerText = "特殊,第一个";            TileNotification tileNotification = new TileNotification(TitleXml);            tileNotification.Tag = "queue1";            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);            XmlDocument TitleXml1 = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText06);            //XmlDocument TitleXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWidePeekImage06);            XmlNodeList textElement1 = TitleXml1.GetElementsByTagName("text");            int index2 = 8;            foreach (XmlElement TitleTextAttr in textElement1)            {                TitleTextAttr.InnerText = "文本区域" + Convert.ToString(index2);                index2++;            }            textElement1[0].InnerText = "特殊,第一个";            TileNotification tileNotification1 = new TileNotification(TitleXml1);            tileNotification1.Tag = "queue2";            TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification1);        }
用到TileUpdateManager和XmlDocument类,需要引用命名空间,只需要在把鼠标放在类上,选择解析,或者选择快捷方式。

XmlDocument TitleXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText06);
这个是用的tile通知的模板,系统为我们提供了很多,我们可以参考资料。

这里需要注意一点,这是发送的宽型Tile通知,需要添加宽微标。

原创粉丝点击