예제 #1
0
        public async Task <bool> PinSource(SourceProvider source)
        {
            var id = ToString(source);

            if (string.IsNullOrEmpty(id))
            {
                return(false);
            }

            var uri = GetTileUrl(source.ToString());

            //var file = GetTileFile(source.ToString(), _settingsService.UseTransparentTile);
            //var tile = new SourceTile();
            //tile.SetTile(_settingsService.UseTransparentTile, source);

            //await SaveVisualElementToFile(tile, file, 360, 360);

            var arguments = string.Format(Arguments, source);

            try
            {
                var secondaryTile = new SecondaryTile(id, source.ToLocalisedSource(), arguments, new Uri(uri, UriKind.Absolute), TileSize.Square150x150)
                {
                    BackgroundColor = Colors.Transparent
                };
                secondaryTile.VisualElements.ShowNameOnSquare150x150Logo = true;
                secondaryTile.VisualElements.ForegroundText  = ForegroundText.Dark;
                secondaryTile.VisualElements.Square30x30Logo = new Uri(uri);

                return(await secondaryTile.RequestCreateAsync());
            }
            catch (Exception ex)
            {
                _logger.ErrorException("PinSource(" + source + ")", ex);
                return(false);
            }
        }
예제 #2
0
        public async Task<bool> PinSource(SourceProvider source)
        {
            var id = ToString(source);
            if (string.IsNullOrEmpty(id)) return false;

            var uri = GetTileUrl(source.ToString());

            //var file = GetTileFile(source.ToString(), _settingsService.UseTransparentTile);
            //var tile = new SourceTile();
            //tile.SetTile(_settingsService.UseTransparentTile, source);

            //await SaveVisualElementToFile(tile, file, 360, 360);
            
            var arguments = string.Format(Arguments, source);

            try
            {
                var secondaryTile = new SecondaryTile(id, source.ToLocalisedSource(), arguments, new Uri(uri, UriKind.Absolute), TileSize.Square150x150) {BackgroundColor = Colors.Transparent};
                secondaryTile.VisualElements.ShowNameOnSquare150x150Logo = true;
                secondaryTile.VisualElements.ForegroundText = ForegroundText.Dark;
                secondaryTile.VisualElements.Square30x30Logo = new Uri(uri);

                return await secondaryTile.RequestCreateAsync();
            }
            catch (Exception ex)
            {
                _logger.ErrorException("PinSource(" + source + ")", ex);
                return false;
            }
        }