Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        /// <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);
        }