Windows 8实用窍门系列:11.Windows 8 中的Toast Tile Badge通知

简介:

在Windows 8中有三种通知的方式及时提醒用户,它们分别是Toast,Tile,Badge

  Toast:是在应用程序中及时弹出的提醒通知。

  Tile:是磁贴通知,用于Metro界面中的应用程序图标上进行图片和文字通知。

  Badge:是在磁贴小贴士通知,用于Metro界面中的应用程序图标右下角提示当前有多少新消息或者当前应用程序状态,如(playing paused newMessage)等。

  准备工作:   首先:引用NotificationsExtensions.winmd库,这是对各种通知简化访问的封装。

        其次:打开Package.appxmanifest重新设置各种徽标。

        最后:打开Package.appxmanifest,设置“支持Toast通知”为“是”。

Toast:

复制代码
        private void ToastNotice_Click(object sender, RoutedEventArgs e)
        {
            //Toast通知文字以及图片设置
            IToastImageAndText01 Toast = ToastContentFactory.CreateToastImageAndText01();
            Toast.TextBodyWrap.Text = "今日世界末日倒数10天!";
            Toast.Image.Src = "http://news.shangdu.com/301/20120512/P_5626361_0__1686841290.jpg";
            ToastNotificationManager.CreateToastNotifier().Show(Toast.CreateNotification());
        }
复制代码

效果图片:

Tile:

复制代码
        private void TileNotice_Click(object sender, RoutedEventArgs e)
        {
            //Tile通知文字以及图片设置
            ITileWideImageAndText01 tile = TileContentFactory.CreateTileWideImageAndText01();
            tile.TextCaptionWrap.Text = "小资情有独钟 10款合资热销时尚车型导购";
            tile.Image.Src = "http://news.mycar168.com/uploadfile/2011/1030/20111030040816628.jpg";

            ITileSquareImage wideImageContent = TileContentFactory.CreateTileSquareImage();
            wideImageContent.Image.Src = "http://news.mycar168.com/uploadfile/2011/1030/20111030040816628.jpg";
            tile.SquareContent = wideImageContent;
            TileUpdateManager.CreateTileUpdaterForApplication().Update(tile.CreateNotification());
        }

        private void ClearTile_Click(object sender, RoutedEventArgs e)
        {
            //清除Tile通知
            TileUpdateManager.CreateTileUpdaterForApplication().Clear();
        }
复制代码

效果图片:

Badge:

复制代码
       private void BadgeNotice_Click(object sender, RoutedEventArgs e)
        {
            //Badge数字通知
            BadgeNumericNotificationContent badge = new BadgeNumericNotificationContent(29);
            BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge.CreateNotification());
        }

        private void BadgeImage_Click(object sender, RoutedEventArgs e)
        {
            //Badge状态图片通知
            BadgeGlyphNotificationContent badge = new BadgeGlyphNotificationContent(GlyphValue.Paused);
            BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge.CreateNotification());
        }

        private void BadgeClear_Click(object sender, RoutedEventArgs e)
        {
            //清楚Badge通知
            BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
        }
复制代码

图片效果见图片右下角:

 

Xaml:

复制代码
    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <Button Content="Toast通知" HorizontalAlignment="Left" Name="ToastNotice"
                Margin="250,172,0,0" VerticalAlignment="Top" Click="ToastNotice_Click"/>
        <Button Content="Tile 通知" HorizontalAlignment="Left" Name="TileNotice"
                Margin="394,172,0,0" VerticalAlignment="Top" Click="TileNotice_Click"/>
        <Button Content="清除Tile通知" HorizontalAlignment="Left" Name="ClearTile"
                Margin="559,172,0,0" VerticalAlignment="Top" Click="ClearTile_Click" />
        <Button Content="Badge数字" HorizontalAlignment="Left" Name="BadgeNotice"
                Margin="250,270,0,0" VerticalAlignment="Top" Click="BadgeNotice_Click"/>
        <Button Content="Badge图片" HorizontalAlignment="Left" Name="BadgeImage"
                Margin="394,270,0,0" VerticalAlignment="Top" Click="BadgeImage_Click" />
        <Button Content="Badge清除" HorizontalAlignment="Left" x:Name="BadgeClear"
                Margin="559,270,0,0" VerticalAlignment="Top" Click="BadgeClear_Click" />
    </Grid>
复制代码

  最后如需源码请点击 Win8Notice.rar 下载。


本文转自程兴亮博客园博客,原文链接:http://www.cnblogs.com/chengxingliang/archive/2012/12/10/2810081.html,如需转载请自行联系原作者



相关文章
|
人工智能 安全 数据安全/隐私保护
微软 Windows 11 22H2 更新要来了!允许用户禁用任务栏通知区域所有应用图标
微软 Windows 11 22H2 更新要来了!允许用户禁用任务栏通知区域所有应用图标
192 0
微软 Windows 11 22H2 更新要来了!允许用户禁用任务栏通知区域所有应用图标
|
NoSQL Redis 数据库
Windows开启redis键空间通知
一、背景 在做一个支付订单的CASE,需要对订单进行限定时间内支付,到期未完成支付则该订单失效,商品退库处理。
|
调度 Windows 数据采集
定时从列表中爬今日通知信息,打包成windows服务
场景模拟 每天8点爬取今日发布的新闻和通知公告,将爬取后的信息保存到Excel文件中,将程序发布成windows服务,开机即可自动启动。 技术使用 1.每天8点定时执行任务,使用Quartz.
1086 0