public override ImageSource Convert(string value) { if (value == null) { return(null); } double scaledWidth = PhoneHelper.GetScreenScaleFactor() * Width; double scaledHeight = PhoneHelper.GetScreenScaleFactor() * Height; string url = value.Replace(WidthPlaceholder, scaledWidth.ToString()).Replace(HeightPlaceholder, scaledHeight.ToString()); return(new BitmapImage(new Uri(url, UriKind.Absolute))); }
/// <summary> /// Creates a Live Tile for the specified plugin. /// </summary> public void CreateTile(IPlugin plugin) { var wpPlugin = (IWindowsPhonePlugin)plugin; var data = new IconicTileData { Title = wpPlugin.Name, IconImage = RenderVector(wpPlugin.IconKey, TileIconSize * PhoneHelper.GetScreenScaleFactor()), SmallIconImage = RenderVector(wpPlugin.IconKey, SmallTileIconSize * PhoneHelper.GetScreenScaleFactor()) }; var uri = new Uri("/Views/Redirect.xaml?" + PluginKey + "=" + wpPlugin.Id, UriKind.Relative); var existingTile = ShellTile.ActiveTiles.FirstOrDefault(t => t.NavigationUri == uri); if (existingTile != null) { existingTile.Delete(); } ShellTile.Create(uri, data, false); }