Beispiel #1
0
        private static void OnSelectionStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ChartSelectionBehavior behavior = d as ChartSelectionBehavior;

            SfChart chartBase = behavior.ChartArea;

            // WPF-26121, When selection style is changed the last selected segment remains selected
            if (chartBase == null || chartBase.Series == null)
            {
                return;
            }

            chartBase.SeriesSelectedIndex = -1;

            foreach (ChartSeries series in chartBase.Series)
            {
                var segmentSelectableSeries = series as ISegmentSelectable;
                if (segmentSelectableSeries != null)
                {
                    segmentSelectableSeries.SelectedIndex = -1;
                }

                if (chartBase.SelectedSeriesCollection.Contains(series) &&
                    chartBase.SeriesSelectedIndex != chartBase.Series.IndexOf(series))
                {
                    chartBase.SelectedSeriesCollection.Remove(series);
                    chartBase.OnResetSeries(series);
                }

                // Need to revisit the code.
                for (int i = 0; i < series.ActualData.Count; i++)
                {
                    if (series.SelectedSegmentsIndexes.Contains(i))
                    {
                        series.SelectedSegmentsIndexes.Remove(i);
                        series.OnResetSegment(i);
                    }
                }
            }
        }
Beispiel #2
0
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.multipleDoughnutChart2 = ((Syncfusion.UI.Xaml.Charts.SfChart)(target));
                return;

            case 2:
                this.selection = ((Syncfusion.UI.Xaml.Charts.ChartSelectionBehavior)(target));
                return;

            case 3:
                this.doughnutSeries = ((Syncfusion.UI.Xaml.Charts.DoughnutSeries)(target));
                return;

            case 4:
                this.dLegend = ((System.Windows.Controls.ItemsControl)(target));
                return;
            }
            this._contentLoaded = true;
        }