public bool AddBookmark(Type viewModelType, string uniqueName, MvxBookmarkMetadata metadata,
                                IDictionary<string, string> navigationArgs)
        {
            if (HasBookmark(uniqueName))
                return UpdateBookmark(uniqueName, metadata);

            var liveTileData = ToTileData(metadata);

            var navigationUri =
                Mvx.Resolve<IMvxPhoneViewModelRequestTranslator>()
                    .GetXamlUriFor(new MvxViewModelRequest(viewModelType, new MvxBundle(navigationArgs), null,
                                                               MvxRequestedBy.Bookmark));

            // we sneak in an extra parameter here - our unique name
            var navigationUri2 = new Uri(
                string.Format("{0}{1}{2}={3}",
                              navigationUri,
                              navigationUri.ToString().Contains("?") ? "&" : "?",
                              UniqueIdParameterName,
                              uniqueName),
                UriKind.Relative);
            ShellTile.Create(navigationUri2, liveTileData);

            return true;
        }
 public bool UpdateBookmark(string uniqueName, MvxBookmarkMetadata metadata)
 {
     var tile = FindShellTileFor(uniqueName);
     if (tile == null)
         return false;
     tile.Update(ToTileData(metadata));
     return true;
 }
Ejemplo n.º 3
0
        public bool UpdateBookmark(string uniqueName, MvxBookmarkMetadata metadata)
        {
            var tile = FindShellTileFor(uniqueName);

            if (tile == null)
            {
                return(false);
            }
            tile.Update(ToTileData(metadata));
            return(true);
        }
 private static StandardTileData ToTileData(MvxBookmarkMetadata metadata)
 {
     var liveTileData = new StandardTileData
         {
             BackgroundImage = metadata.BackgroundImageUri,
             Title = metadata.Title,
             BackTitle = metadata.BackTitle,
             BackContent = metadata.BackContent,
             BackBackgroundImage = metadata.BackBackgroundImageUri,
             Count = metadata.Count
         };
     return liveTileData;
 }
        private static StandardTileData ToTileData(MvxBookmarkMetadata metadata)
        {
            var liveTileData = new StandardTileData
            {
                BackgroundImage     = metadata.BackgroundImageUri,
                Title               = metadata.Title,
                BackTitle           = metadata.BackTitle,
                BackContent         = metadata.BackContent,
                BackBackgroundImage = metadata.BackBackgroundImageUri,
                Count               = metadata.Count
            };

            return(liveTileData);
        }
        public bool AddBookmark(Type viewModelType, string uniqueName, MvxBookmarkMetadata metadata,
                                IDictionary <string, string> navigationArgs)
        {
            if (HasBookmark(uniqueName))
            {
                return(UpdateBookmark(uniqueName, metadata));
            }

            var liveTileData = ToTileData(metadata);

            var navigationUri =
                Mvx.Resolve <IMvxPhoneViewModelRequestTranslator>()
                .GetXamlUriFor(new MvxViewModelRequest(viewModelType, new MvxBundle(navigationArgs), null,
                                                       MvxRequestedBy.Bookmark));

            // we sneak in an extra parameter here - our unique name
            var navigationUri2 = new Uri(
                $"{navigationUri}{(navigationUri.ToString().Contains("?") ? "&" : "?")}{UniqueIdParameterName}={uniqueName}",
                UriKind.Relative);

            ShellTile.Create(navigationUri2, liveTileData);

            return(true);
        }