开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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 下 gcc/g++ 的安装
下载 MingW 图1.png 点击右侧的Download Installer下载 下载好之后点击运行 图2.png 选择Install->Continue进行安装,稍等之后点击Continue.
771 0
windows下用c实现Socket通信
原文:windows下用c实现Socket通信 原本以为c是跨平台,所以,c在windows下和linux下的程序应该是类似于Java,什么都不用改变的,今儿才恍然大悟,他们的类库不一样啊…… 下面我贴出来一个windows下的c语言socket通信例子,这里我们客户端传递一个字符串,服务器端进行接收。
859 0
重新想象 Windows 8 Store Apps (34) - 通知: Toast Demo, Tile Demo, Badge Demo
原文:重新想象 Windows 8 Store Apps (34) - 通知: Toast Demo, Tile Demo, Badge Demo [源码下载] 重新想象 Windows 8 Store Apps (34) - 通知: Toast Demo, Tile Demo, Badge De...
776 0
一起谈.NET技术,WPF Multi-Touch 开发:Windows 7 安装多点触屏模拟器
  本系列将介绍Multi-Touch(MT)多点触控技术的相关内容,使开发人员了解如何在Windows 平台中开发出具有MT 功能的应用程序。众所周知Windows 7 操作系统自身已经支持具有MT 功能的硬件设备, 画板程序(Paint)就是一个很好的例子,如果你的显示设备具有MT 功能,便可以用两个手指同时在画板中绘制不同的图案。
1309 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ECS运维指南之Windows系统诊断
立即下载
《云服务器运维之Windows篇》
立即下载
FIS Global Accelerating Digital Intelligence in FinTech
立即下载