我的应用程序中有一个用于拨打号码的联系人。现在,我想将其固定到Windows的起始页面,我正在使用以下代码实现此功能:
private void Click_Tap(object sender, RoutedEventArgs e)
{
ShellTile oTile = ShellTile.ActiveTiles.FirstOrDefault(x =>
x.NavigationUri.ToString().Contains("flip".ToString()));
if (oTile != null && oTile.NavigationUri.ToString().Contains("flip"))
{
FlipTileData oFliptile = new FlipTileData();
oFliptile.Title = "Hello WP8!!";
oFliptile.Count = 11;
oFliptile.BackTitle = "Updated Flip Tile";
oFliptile.BackContent = "back of tile";
oFliptile.WideBackContent = "back of the wide tile";
oFliptile.SmallBackgroundImage = new Uri("Assets/Tiles/Flip/h.jpg", UriKind.Relative);
oFliptile.BackgroundImage = new Uri("Assets/Tiles/Flip/h.jpg", UriKind.Relative);
oFliptile.WideBackgroundImage = new Uri("Assets/Tiles/Flip/h.jpg", UriKind.Relative);
oFliptile.BackBackgroundImage = new Uri("/Assets/Tiles/Flip/h.jpg", UriKind.Relative);
oFliptile.WideBackBackgroundImage = new Uri("/Assets/Tiles/Flip/h.jpg", UriKind.Relative);
oTile.Update(oFliptile);
MessageBox.Show("Flip Tile Data successfully update.");
}
else
{
Uri tileUri = new Uri("/phoneNumberChooserTask.show()?tile=flip", UriKind.Relative);
ShellTileData tileData = this.CreateFlipTileData();
ShellTile.Create(tileUri, tileData, true);
}
}
private ShellTileData CreateFlipTileData()
return new FlipTileData()
{
Title = "",
BackTitle = "",
BackContent = "",
WideBackContent = "",
Count = 8,
SmallBackgroundImage = new Uri("/Assets/Tiles/Flip/h.jpg", UriKind.Relative),
BackgroundImage = new Uri("/Assets/Tiles/Flip/h.jpg", UriKind.Relative),
WideBackgroundImage = new Uri("/Assets/Tiles/Flip/h.jpg", UriKind.Relative),
};
}
我面临的问题是当我在设备/模拟器上运行时,Tile会启动引脚,但是当我点击设备/模拟器调试器的开始屏幕上的磁贴时,会停止进程并且进程会中断。
有人能引导我朝正确的方向前进吗?
答案 0 :(得分:0)
除了您的应用外,平铺无法启动任何内容。添加一些将由您的应用解析的代码,然后您的应用应该调用phoneNumberChooserTask.show()
。例如:
new Uri("/Chooser.xaml?tile=flip", UriKind.Relative);
然后,在Chooser.xaml(项目中的页面)中,在OnNavigatedTo中检测Uri中的标题值并调用phoneNumberChooserTask.show()
。