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;
            };
        }
예제 #2
0
        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 + ");");
        }
예제 #4
0
        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();
            }
        }
예제 #5
0
        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]);
                }
            }
        }
예제 #7
0
        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");
            }
        }