public async Task <bool> UnpinAsync(string Id, Windows.UI.Popups.Placement placement = Windows.UI.Popups.Placement.Above) { System.Diagnostics.Contracts.Contract.Requires(Id != null, "TileId"); if (!SecondaryTile.Exists(Id)) { return(true); } var tile = new SecondaryTile(Id); var result = await tile.RequestDeleteForSelectionAsync(new Rect(0, 0, 0, 0), placement); return(result); }
private async void TogglePin(SubredditItem subreddit, Rect rect) { string tileId = subreddit.Url; if (SecondaryTile.Exists(tileId)) { SecondaryTile secondaryTile = new SecondaryTile(tileId); Windows.UI.Popups.Placement placement = Windows.UI.Popups.Placement.Above; bool isUnpinned = await secondaryTile.RequestDeleteForSelectionAsync(rect, placement); ToggleAppBarButton(isUnpinned); } else { string displayName = $"/r/{subreddit.Url}"; string tileActivationArguments = $"subreddit://{tileId}"; Uri logo = new Uri("ms-appx:///Assets/Square150x150Logo.png"); TileSize newTileDesiredSize = TileSize.Square150x150; SecondaryTile secondaryTile = new SecondaryTile(tileId, displayName, tileActivationArguments, logo, newTileDesiredSize); secondaryTile.VisualElements.Square71x71Logo = new Uri("ms-appx:///Assets/Square71x71Logo.png"); secondaryTile.VisualElements.Wide310x150Logo = new Uri("ms-appx:///Assets/Wide310x150Logo.png"); secondaryTile.VisualElements.Square310x310Logo = new Uri("ms-appx:///Assets/Square310x310Logo.png"); secondaryTile.VisualElements.Square44x44Logo = new Uri("ms-appx:///Assets/Square44x44Logo.png"); secondaryTile.VisualElements.ShowNameOnSquare150x150Logo = true; secondaryTile.VisualElements.ShowNameOnSquare310x310Logo = true; secondaryTile.VisualElements.ShowNameOnWide310x150Logo = true; Windows.UI.Popups.Placement placement = Windows.UI.Popups.Placement.Above; var tileManager = SimpleIoc.Default.GetInstance <TileManager>(); if (!(Windows.Foundation.Metadata.ApiInformation.IsTypePresent(("Windows.Phone.UI.Input.HardwareButtons")))) { bool isPinned = await secondaryTile.RequestCreateForSelectionAsync(rect, placement); ToggleAppBarButton(!isPinned); } //Phone if ((Windows.Foundation.Metadata.ApiInformation.IsTypePresent(("Windows.Phone.UI.Input.HardwareButtons")))) { //tileManager.ScheduleRedditTileUpdate(tileId, Vm.Images); bool isPinned = await secondaryTile.RequestCreateAsync(); ToggleAppBarButton(!isPinned); } tileManager.UpdateRedditTile(tileId, Vm.Images); } }
private async void OnPinToStart(object sender, RoutedEventArgs e) { try { var fixedtitle = Regex.Replace(Scenario.Title, @"\W", "-"); if (PinToStart.IsOn) { if (string.IsNullOrWhiteSpace(fixedtitle)) { PinToStart.IsOn = false; } else if (!SecondaryTile.Exists(fixedtitle)) { Uri logo = new Uri(@"ms-appx:///Assets/Square150x150Logo.scale-200.png"); var tile = new SecondaryTile(fixedtitle, Scenario.Title, Scenario.Title, logo, TileSize.Default); await tile.RequestCreateForSelectionAsync(GetElementRect((FrameworkElement)sender)); } } else if (!string.IsNullOrWhiteSpace(fixedtitle)) { if (SecondaryTile.Exists(fixedtitle)) { SecondaryTile secondaryTile = new SecondaryTile(fixedtitle); Windows.Foundation.Rect rect = GetElementRect((FrameworkElement)sender); Windows.UI.Popups.Placement placement = Windows.UI.Popups.Placement.Above; bool isUnpinned = await secondaryTile.RequestDeleteForSelectionAsync(rect, placement); } } } catch (Exception ex) { ex.ToString(); throw; } }