在Windows 8中有三種通知的方式及時(shí)提醒用戶,它們分別是Toast,Tile,Badge
Toast:是在應(yīng)用程序中及時(shí)彈出的提醒通知。
Tile:是磁貼通知,用于Metro界面中的應(yīng)用程序圖標(biāo)上進(jìn)行圖片和文字通知。
Badge:是在磁貼小貼士通知,用于Metro界面中的應(yīng)用程序圖標(biāo)右下角提示當(dāng)前有多少新消息或者當(dāng)前應(yīng)用程序狀態(tài),如(playing paused newMessage)等。
準(zhǔn)備工作: 首先:引用NotificationsExtensions.winmd庫,這是對各種通知簡化訪問的封裝。
其次:打開Package.appxmanifest重新設(shè)置各種徽標(biāo)。
最后:打開Package.appxmanifest,設(shè)置“支持Toast通知”為“是”。
Toast:
private void ToastNotice_Click(object sender, RoutedEventArgs e)
{
//Toast通知文字以及圖片設(shè)置
IToastImageAndText01 Toast = ToastContentFactory.CreateToastImageAndText01();
Toast.TextBodyWrap.Text = "今日世界末日倒數(shù)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通知文字以及圖片設(shè)置
ITileWideImageAndText01 tile = TileContentFactory.CreateTileWideImageAndText01();
tile.TextCaptionWrap.Text = "小資情有獨(dú)鐘 10款合資熱銷時(shí)尚車型導(dǎo)購";
tile.Image.Src = "http://news.mycar168.com/uploadfile/2011/1030/20111030040816628.jpg";/p>
p> ITileSquareImage wideImageContent = TileContentFactory.CreateTileSquareImage();
wideImageContent.Image.Src = "http://news.mycar168.com/uploadfile/2011/1030/20111030040816628.jpg";
tile.SquareContent = wideImageContent;
TileUpdateManager.CreateTileUpdaterForApplication().Update(tile.CreateNotification());
}/p>
p> private void ClearTile_Click(object sender, RoutedEventArgs e)
{
//清除Tile通知
TileUpdateManager.CreateTileUpdaterForApplication().Clear();
}
效果圖片:
Badge:
private void BadgeNotice_Click(object sender, RoutedEventArgs e)
{
//Badge數(shù)字通知
BadgeNumericNotificationContent badge = new BadgeNumericNotificationContent(29);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge.CreateNotification());
}/p>
p> private void BadgeImage_Click(object sender, RoutedEventArgs e)
{
//Badge狀態(tài)圖片通知
BadgeGlyphNotificationContent badge = new BadgeGlyphNotificationContent(GlyphValue.Paused);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge.CreateNotification());
}/p>
p> 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數(shù)字" 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>
最后如需源碼請點(diǎn)擊 Win8Notice_jb51net.rar 下載。