protected virtual void OnStyleUpdated(StyleUpdatedDataSelectorUserControlEventArgs e)
        {
            EventHandler <StyleUpdatedDataSelectorUserControlEventArgs> handler = StyleUpdated;

            if (handler != null)
            {
                handler(this, e);
            }
        }
        // This method would be called whenever the style needs to updated
        private void dataSelectorUserControl_StyleUpdated(object sender, StyleUpdatedDataSelectorUserControlEventArgs e)
        {
            HideStyleControls();
            DataSelectorUserControl dataSelectorUserControl = sender as DataSelectorUserControl;

            LegendAdornmentLayer legendAdornmentLayer = (LegendAdornmentLayer)map.AdornmentOverlay.Layers[0];

            // Here we update the styleBuilder and UI according to the style builder type passed from the data selector user control.
            switch (e.DemographicStyleBuilderType)
            {
            case DemographicStyleBuilderType.ValueCircle:
                currentStyleBuilder             = new ValueCircleDemographicStyleBuilder();
                trackBarValueCirleRadio.Visible = true;
                lblValueCircle.Visible          = true;
                legendAdornmentLayer.Title.TextStyle.TextColumnName = e.ActivatedStyleSelectors[0].LegendTitle;
                break;

            case DemographicStyleBuilderType.DotDensity:
                currentStyleBuilder       = new DotDensityDemographicStyleBuilder();
                lblFewer.Visible          = true;
                lblMore.Visible           = true;
                trackBarDots.Visible      = true;
                lblDotDensityUnit.Visible = true;
                legendAdornmentLayer.Title.TextStyle.TextColumnName = e.ActivatedStyleSelectors[0].LegendTitle;
                break;

            case DemographicStyleBuilderType.PieChart:
                currentStyleBuilder = new PieChartDemographicStyleBuilder();
                foreach (StyleSelectorUserControl item in e.ActivatedStyleSelectors)
                {
                    ((PieChartDemographicStyleBuilder)currentStyleBuilder).SelectedColumnAliases.Add(item.Alias);
                }
                legendAdornmentLayer.Title.TextStyle.TextColumnName = dataSelectorUserControl.Title;
                break;

            case DemographicStyleBuilderType.Thematic:
            default:
                currentStyleBuilder                  = new ThematicDemographicStyleBuilder();
                lblDisplayEndColor.Visible           = true;
                lblColorWheelDirection.Visible       = true;
                cbxActiveEndColor.Visible            = true;
                cbxSelectColorWheelDirection.Visible = true;
                legendAdornmentLayer.Title.TextStyle.TextColumnName = e.ActivatedStyleSelectors[0].LegendTitle;
                lblDisplayColor.Text = "Display Start Color";
                break;
            }

            foreach (StyleSelectorUserControl activatedStyleSelector in e.ActivatedStyleSelectors)
            {
                currentStyleBuilder.SelectedColumns.Add(activatedStyleSelector.ColumnName);
            }

            // Update UI and map.
            UpdateUIControls(currentStyleBuilder);
            UpdateMap(currentStyleBuilder);
        }
 private void StyleSelectorUserControl_StyleUpdated(object sender, StyleUpdatedStyleSelectorUserControlEventArgs e)
 {
     if (e.DemographicStyleBuilderType != DemographicStyleBuilderType.PieChart)
     {
         StyleUpdatedDataSelectorUserControlEventArgs eventArgs = new StyleUpdatedDataSelectorUserControlEventArgs(e.DemographicStyleBuilderType);
         eventArgs.ActivatedStyleSelectors.Add((StyleSelectorUserControl)sender);
         OnStyleUpdated(eventArgs);
     }
     else
     {
         RaisePieChartUpdatedEvent();
     }
 }
        protected void RaisePieChartUpdatedEvent()
        {
            StyleUpdatedDataSelectorUserControlEventArgs eventArgs = new StyleUpdatedDataSelectorUserControlEventArgs(DemographicStyleBuilderType.PieChart);

            foreach (StyleSelectorUserControl item in StyleSelectors)
            {
                item.IsVisible = true;
                if (item.WithinPieChart)
                {
                    eventArgs.ActivatedStyleSelectors.Add(item);
                }
            }

            if (eventArgs.ActivatedStyleSelectors.Count >= 2)
            {
                picPie.Enabled = true;
                OnStyleUpdated(eventArgs);
            }
        }