我可以使用本地数据更新Mango中的实时图块吗? [英] Can I update a live tile in Mango using local data?
本文介绍了我可以使用本地数据更新Mango中的实时图块吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个使用本地SqlCe数据库的Mango WP7.5应用程序.我想添加一个LiveTile更新,该更新显示基于当前日期和月份从本地数据库获取的信息.
I have a Mango WP7.5 app that uses a local SqlCe database. I would like to add a LiveTile update that shows info taken from the local DB based on current day and month.
我找到的所有示例都通过从服务器下载远程图像来更新背景,但我只需要进行本地数据库查询并在图块中显示一个字符串即可.
All the samples that I've found update the background by downloading remote images from servers but I would simply need to make a local database query and show a string in my tile.
我可以这样做吗?怎么样?
Can I do it? How?
推荐答案
是的,可以.您必须
- 生成包含您的文本信息的图像
- 将此图像保存到隔离存储中,并
- 通过
isostore
URI访问它.
- generate an image containing your textual information
- save this image to isolated storage and
- access it via
isostore
URI.
以下代码显示了如何执行此操作(它会更新应用程序磁贴):
Here is code showing how to do this (it updates the Application Tile):
// set properties of the Application Tile
private void button1_Click(object sender, RoutedEventArgs e)
{
// Application Tile is always the first Tile, even if it is not pinned to Start
ShellTile TileToFind = ShellTile.ActiveTiles.First();
// Application Tile should always be found
if (TileToFind != null)
{
// create bitmap to write text to
WriteableBitmap wbmp = new WriteableBitmap(173, 173);
TextBlock text = new TextBlock() { FontSize = (double)Resources["PhoneFontSizeExtraLarge"], Foreground = new SolidColorBrush(Colors.White) };
// your text from database goes here:
text.Text = "Hello\nWorld";
wbmp.Render(text, new TranslateTransform() { Y = 20 });
wbmp.Invalidate();
// save image to isolated storage
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
// use of "/Shared/ShellContent/" folder is mandatory!
using (IsolatedStorageFileStream imageStream = new IsolatedStorageFileStream("/Shared/ShellContent/MyImage.jpg", System.IO.FileMode.Create, isf))
{
wbmp.SaveJpeg(imageStream, wbmp.PixelWidth, wbmp.PixelHeight, 0, 100);
}
}
StandardTileData NewTileData = new StandardTileData
{
Title = "Title",
// reference saved image via isostore URI
BackgroundImage = new Uri("isostore:/Shared/ShellContent/MyImage.jpg", UriKind.Absolute),
};
// update the Application Tile
TileToFind.Update(NewTileData);
}
}
这篇关于我可以使用本地数据更新Mango中的实时图块吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文