private void RebuildSplitters() { plotter.Children.RemoveAll <PaletteThumb>(); hostPanel.Children.Clear(); if (Palette == null) { return; } var palette = Palette; int count = palette.Steps.Count; int counter = 0; // adding thumbs foreach (var colorStep in palette.Steps.Take(count - 1)) { PaletteThumb thumb = new PaletteThumb { Position = new Point(colorStep.Offset, 0.5) }; SetIndex(thumb, counter); thumb.PositionChanged += new EventHandler <Charts.PositionChangedEventArgs>(thumb_PositionChanged); counter++; thumbs.Add(thumb); plotter.Children.Add(thumb); } // adding space between thumbs double prevOffset = 0; foreach (var colorStep in palette.Steps) { Rectangle rect = new Rectangle { Fill = Brushes.Transparent }; Rect bounds = new Rect(prevOffset, 0, colorStep.Offset, 1); ViewportPanel.SetViewportBounds(rect, bounds); hostPanel.Children.Add(rect); prevOffset = colorStep.Offset; } }
private void RebuildSplitters() { plotter.Children.RemoveAll<PaletteThumb>(); hostPanel.Children.Clear(); if (Palette == null) return; var palette = Palette; int count = palette.Steps.Count; int counter = 0; // adding thumbs foreach (var colorStep in palette.Steps.Take(count - 1)) { PaletteThumb thumb = new PaletteThumb { Position = new Point(colorStep.Offset, 0.5) }; SetIndex(thumb, counter); thumb.PositionChanged += new EventHandler<Charts.PositionChangedEventArgs>(thumb_PositionChanged); counter++; thumbs.Add(thumb); plotter.Children.Add(thumb); } // adding space between thumbs double prevOffset = 0; foreach (var colorStep in palette.Steps) { Rectangle rect = new Rectangle { Fill = Brushes.Transparent }; Rect bounds = new Rect(prevOffset, 0, colorStep.Offset, 1); ViewportPanel.SetViewportBounds(rect, bounds); hostPanel.Children.Add(rect); prevOffset = colorStep.Offset; } }