コード例 #1
0
        private void SetIcon(EffectComboBoxItemViewModel dataContext)
        {
            //Display icons when the effect is either color or rhythm
            switch (dataContext.EffectType)
            {
            case EffectType.Color:
                ColorIcon.Visibility = Visibility.Visible;
                break;

            case EffectType.Rhythm:
                RhythmIcon.Visibility = Visibility.Visible;
                break;
            }
        }
コード例 #2
0
        private void DrawColoredBorder(EffectComboBoxItemViewModel dataContext)
        {
            //Remove duplicate colors, palettes from Nanoleaf can contain the same color multiple times
            var colors = dataContext.Colors.Distinct();

            var borderParts = new int[colors.Count()];

            //Divide the border into equal sized parts
            for (var i = 0; i < colors.Count(); i++)
            {
                borderParts[i] = dataContext.Width / colors.Count();
            }

            //Divide up the remainder
            for (var i = 0; i < dataContext.Width % colors.Count(); i++)
            {
                borderParts[i] += 1;
            }

            //Create the borders
            var marginLeft  = 0;
            var marginRight = dataContext.Width;

            for (var i = 0; i < colors.Count(); i++)
            {
                ContentGrid.Children.Add(new Border
                {
                    BorderBrush     = new SolidColorBrush(colors.ElementAt(i)),
                    BorderThickness = new Thickness(0, 8, 0, 0),
                    Margin          = new Thickness(marginLeft, 0, marginRight - borderParts[i], 0)
                });

                marginLeft  += borderParts[i];
                marginRight -= borderParts[i];
            }
        }