• 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 下载。

  • 相关阅读:
    cs231n.stanford.edu
    cs229.stanford.edu
    Boost circular_buffer example
    OI中一些常见实用的套路【更新中】
    用Java读取xml文件内容
    在控制台中操作MYSQL数据库步骤以及一些小问题
    java 实现对指定目录的文件进行下载
    将java项目发布到本地的linux虚拟机上
    mybatis 控制台打印出来的sql 执行结果为空 但是将sql放到mysql执行有数据
    spring mvc 拦截器
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/2810081.html
Copyright © 2020-2023  润新知