protected void GestureListener_Hold(object sender, GestureEventArgs e) { // sender is the StackPanel in this example var item = ((Grid)sender).DataContext; // item has the type of the model SelectedItem = item as Happening; }
public void Delete(Happening item) { var settings = IsolatedStorageSettings.ApplicationSettings; if (settings.Contains(item.Guid)) { settings.Remove(item.Guid); } settings.Save(); }
public void Save(Happening item) { var settings = IsolatedStorageSettings.ApplicationSettings; if (settings.Contains(item.Guid)) { settings[item.Guid] = item; } else { settings.Add(item.Guid, item); } settings.Save(); }
public void CreateTile(Happening item) { var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid)); if (foundTile == null) { var liveTileUpdatesEnabled = GetLiveTileSetting(); if (liveTileUpdatesEnabled) { CreatePeriodicTask(Globals.LiveTileUpdaterPeriodicTaskName); } var tile = SetupTileData(item); ShellTile.Create(new Uri(String.Format(Globals.DetailsPageUri, item.Guid), UriKind.Relative), tile); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); var common = Common.Instance; var guid = GetFromQuerystring(); if (!String.IsNullOrEmpty(guid)) { viewModel.Load(); CurrentItem = (from i in viewModel.Happenings where i.Guid == guid select i).FirstOrDefault(); if (CurrentItem != null) { PageTitle.Text = CurrentItem.Name; dateInfoTextBlock.Text = String.Format("{0} {1} {2} {3}", common.GetDayOfWeek(CurrentItem.Date.DayOfWeek), CurrentItem.Date.Day, common.GetMonth(CurrentItem.Date.Month), CurrentItem.Date.Year); numberOfdaysLeftTextBlock.Text = CurrentItem.NumberOfDaysLeft.ToString(); itemImage.Source = CurrentItem.SavedImage; if (CurrentItem.NumberOfDaysLeft.ToString().StartsWith("-")) { monthsAndDaysLeftTextBlock.Text = AppResources.HappeningOver; daysTextBlock.Text = AppResources.Days; } else { monthsAndDaysLeftTextBlock.Text = String.IsNullOrEmpty(CurrentItem.MonthsAndDaysLeftText) ? String.Format("{0} {1}", AppResources.Occurs, AppResources.Today) : String.Format("{0} {1}", AppResources.OccursIn, CurrentItem.MonthsAndDaysLeftText); daysTextBlock.Text = AppResources.DaysLeft; } } SetupApplicationBar(); } }
private static StandardTileData SetupTileData(Happening item) { var backContent = String.Empty; if (item.ShowMonthsAndDaysOnLiveTile) { if (item.NumberOfDaysLeft.ToString().StartsWith("-")) { backContent = AppResources.HappeningOver; } else if (!String.IsNullOrEmpty(item.MonthsAndDaysLeftText)) { backContent = String.Format("{0} {1}", item.MonthsAndDaysLeftText, AppResources.Left); } else { backContent = String.Format("{0} {1}", AppResources.Occurs, AppResources.Today); } } var tile = new StandardTileData { BackgroundImage = !String.IsNullOrEmpty(item.ImagePath) ? new Uri("isostore:" + item.ImagePath, UriKind.Absolute) : new Uri(Globals.DefaultImage, UriKind.Relative), Title = item.Name, Count = item.NumberOfDaysLeft <= 99 ? item.NumberOfDaysLeft : 0, BackTitle = item.ShowMonthsAndDaysOnLiveTile ? item.Name : String.Empty, BackContent = backContent }; return tile; }
public void UpdateTile(Happening item) { var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid)); if (foundTile != null) { var tile = SetupTileData(item); foundTile.Update(tile); } }
public void RemoveTile(Happening item) { var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid)); if (foundTile != null) { foundTile.Delete(); } }
private void OnAppBarSaveIconClick(object sender, EventArgs e) { var common = Common.Instance; var tileUtility = TileUtility.Instance; if (CurrentItem != null) { CurrentItem.Name = NameTextBox.Text; if (ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked != null) { CurrentItem.ShowMonthsAndDaysOnLiveTile = ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked.Value; } if (ImageFile != null) { CurrentItem.ImagePath = ImageFile; } if (DatePicker.Value != null) { CurrentItem.Date = DatePicker.Value.Value; } _viewModel.Save(CurrentItem); tileUtility.UpdateTile(CurrentItem); common.NavigateToUrl(Globals.MainPageUri); } else { if (DatePicker.Value != null) { if (NameTextBox.Text != String.Empty) { var item = new Happening { Guid = Guid.NewGuid().ToString(), Name = NameTextBox.Text, Date = DatePicker.Value.Value, ShowMonthsAndDaysOnLiveTile = ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked != null && ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked.Value, ImagePath = ImageFile }; _viewModel.Save(item); common.NavigateToUrl(Globals.MainPageUri); } else { MessageBox.Show(AppResources.MissingNameMessageBox, AppResources.MissingTextMessageTitle, MessageBoxButton.OK); } } } }