public ColorView() { this.InitializeComponent(); // Update Bindings on DataContext change this.DataContextChanged += (s, e) => { ViewModel = DataContext as ColorCollectionItem; if (ViewModel == null) { return; } ViewModel.ForceSelectedIndex(0); Bindings.Update(); gradientTrackBar.Opacity = 1; gradientTrackBar.IsHitTestVisible = true; if (ViewModel.Colors.Count == 1) { gridRadial.Opacity = 0; gridRadial.IsHitTestVisible = false; } colorSpectrum.Color = ViewModel.SelectedItem.Color; ViewModel.PropertyChanged += ViewModel_PropertyChanged; }; }
private void listViewItems_DragItemsStarting(object sender, DragItemsStartingEventArgs e) { ColorCollectionItem ci = (ColorCollectionItem)e.Items.FirstOrDefault(); e.Data.SetText(ci.GetDefaultExport()); e.Data.Properties.Add("item", ci); e.Data.RequestedOperation = DataPackageOperation.Copy | DataPackageOperation.Move; }
public static String ColorsToRadialGradient(ColorCollectionItem colorCollectionItem) { List <ColorItem> temp = colorCollectionItem.Colors.OrderBy(x => x.Offset).ToList(); double rotation = colorCollectionItem.Rotation; String colors = ""; foreach (ColorItem colorItem in temp) { if (colors != "") { colors += ", "; } colors += ColorToHex(colorItem.Color) + " " + Math.Floor(colorItem.Offset * 100) + "%"; } return("radial-gradient(" + rotation + "deg, " + colors + ");"); }
private void UserControl_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e) { if (DataContext != null) { ColorCollectionItem colorCollectionItem = (ColorCollectionItem)DataContext; // Set the title of the window var appView = ApplicationView.GetForCurrentView(); appView.Title = colorCollectionItem.Name; exportView.DataContext = new ExportViewModel(colorCollectionItem); // Set the theme depending on the brightness of the color averageColor = Helpers.ColorHelper.GetAverageColor(colorCollectionItem.Colors); SetAverageColor(); } }
private void sidebarItem_Drop(object sender, DragEventArgs e) { PaletteItem paletteItem = (PaletteItem)((SidebarItem)sender).DataContext; Debug.WriteLine(paletteItem.Name); if (e.DataView.Contains(StandardDataFormats.Text)) { e.Data.Properties.TryGetValue("item", out object ci); if (ci != null) { ColorCollectionItem colorCollectionItem = Helpers.ColorHelper.DuplicateColor((ColorCollectionItem)ci); ViewModel.SelectedItem.Colors.Remove((ColorCollectionItem)ci); paletteItem.Colors.Add(colorCollectionItem); } } }
private void UserControl_DataContextChanged(FrameworkElement sender, DataContextChangedEventArgs args) { if (DataContext == null) { Debug.WriteLine("GradientTrackBar DataContext is null"); return; } colorCollectionItem = (ColorCollectionItem)DataContext; colorCollectionItem.Colors.CollectionChanged += (s, e) => { ContainerCanvas.Children.Clear(); for (int i = 0; i < colorCollectionItem.Colors.Count(); i++) { if (i == 0) { SetSelectedThumb(AddThumb(colorCollectionItem.Colors[i])); } else { AddThumb(colorCollectionItem.Colors[i]); } } }; ContainerCanvas.Children.Clear(); for (int i = 0; i < colorCollectionItem.Colors.Count(); i++) { if (i == 0) { SetSelectedThumb(AddThumb(colorCollectionItem.Colors[i])); } else { AddThumb(colorCollectionItem.Colors[i]); } } }
private async void buttonRestore_Click(object sender, RoutedEventArgs e) { //Debug.WriteLine("Restore"); try { //Get item in centre of screen stackPanelColorAnimation.DataContext = selectedVersion; ColorCollectionItem colorCollectionItem = DataContext as ColorCollectionItem; VersionItem versionItem = selectedVersion; versionItem.Date = DateTime.Now; { if (gridViewExportItems.ContainerFromItem(versionItem) is GridViewItem container) { var templateRoot = (FrameworkElement)container.ContentTemplateRoot; if (templateRoot != null) { templateRoot.Opacity = 0; } } } { if (gridViewExportItems2.ContainerFromItem(versionItem) is GridViewItem container) { var templateRoot = (FrameworkElement)container.ContentTemplateRoot; if (templateRoot != null) { templateRoot.Opacity = 0; } } } // Animate card stackPanelColorAnimation.Opacity = 1; IncreaseCardSize.Begin(); AnimationHelper.ChangeObjectOpacity(scrollViewerExportItems, 1, 0.4); await Task.Delay(400); // Scroll to end AnimationHelper.ChangeObjectTranslateX(scrollViewerExportItems, 0, -510); AnimationHelper.ChangeObjectTranslateX(scrollViewerExportItems2, 0, -510); scrollViewerExportItems.ChangeView(scrollViewerExportItems.ScrollableWidth, null, null); await Task.Delay(300); // Decrease card size DecreaseCardSize.Begin(); AnimationHelper.ChangeObjectOpacity(scrollViewerExportItems, 0.4, 1); // Animate out await Task.Delay(1000); colorCollectionItem.RestoreVersion(versionItem); AnimateOut(); await Task.Delay(400); colorCollectionItem.Versions.Remove(versionItem); } catch { Debug.WriteLine("Error in restoring"); } }