[英]How to create a web page on the shell tile for wp7
I have created a web browser for wp7. 我为wp7创建了一个Web浏览器。 Below is the codes i have used in my app.
以下是我在我的应用中使用的代码。 But what happens is the image is blank(white image) See Image Below .
但是会发生什么是图像是空白的(白色图像) 请参见下面的图像。 Can anybody help me with this?
任何人都可以帮我吗? Thanks for your help.
谢谢你的帮助。
private void PinToStart_Click(object sender, EventArgs e)
{
string _url = UrlTextBox.Text;
ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("url=" + _url));
using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
var bmp = new WriteableBitmap(173, 173);
var tt = new TranslateTransform();
tt.X = 0;
tt.Y = 0;
bmp.Render(browsers[this.currentIndex], tt);
bmp.Invalidate();
var filename = "/Shared/ShellContent/01d.jpg";
using (var st = new IsolatedStorageFileStream(filename, FileMode.OpenOrCreate, FileAccess.Write, store))
{
bmp.SaveJpeg(st, 173, 173, 0, 100);
}
}
// Create the Tile if we didn't find that it already exists.
if (TileToFind == null)
{
StandardTileData NewTileData = new StandardTileData
{
BackgroundImage = new System.Uri("isostore:/Shared/ShellContent/01d.jpg", System.UriKind.Absolute),
Title = string.Format(_url.Substring(7)),
BackTitle = "Browser",
BackContent = (string)_url.Substring(7),
BackBackgroundImage = new Uri("", UriKind.Relative)
};
// Create the Tile and pin it to Start. This will cause a navigation to Start and a deactivation of our application.
ShellTile.Create(new Uri("/Web.xaml?passedUrl=" + _url, UriKind.Relative), NewTileData);
}
else
{
MessageBox.Show("A live tile already created for this service. Please check it out!!!");
}
}
what you need to do is, render the html insider a writeablebitmap and save the resultant as 173x173 file. 你需要做的是,将html内部渲染为writeablebitmap并将结果保存为173x173文件。
I am not sure if you can render webbrowser control like IE can. 我不确定你是否可以像IE一样渲染webbrowser控件。
you are out of luck.. read this https://stackoverflow.com/a/6479233/1306871 你运气不好..请阅读https://stackoverflow.com/a/6479233/1306871
webbrowser doesn't render in a writeablebitmap due to some bug 由于某些错误,webbrowser不会在writeablebitmap中呈现
Canvas canvas = new Canvas();
canvas .Width = 173;
canvas.Height = 173;
WriteableBitmap wpm= new WriteableBitmap(173, 173);
using (MemoryStream mem = new MemoryStream()){Image image = new Image();
image.Source = browsers[this.currentIndex];
can.Children.Add(image);
TranslateTransform translateTransform = new TranslateTransform();
translateTransform.X = 0;
translateTransform.Y = 0;
wpm.Render(canvas, translate Transform);
}
wpm.Invalidate();
wpm.SaveJpeg(mem, 768, 200, 0, 100);
var filename = "/Shared/ShellContent/01d.jpg";
using (var st = new IsolatedStorageFileStream(filename, FileMode.OpenOrCreate, FileAccess.Write, store)){bmp.SaveJpeg(st, 173, 173, 0, 100);}
write code to create tile hope helpful... 编写代码来创建tile希望有用...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.