Example #1
0
        private void bindList()
        {
            if (ClassBreakConfigItems != null)
            {
                if (ClassBreaksRenderer != null)
                {
                    // Add the default symbol config control
                    DefaultSymbolConfigControl defaultSymbolConfigControl = new DefaultSymbolConfigControl()
                    {
                        Symbol = ClassBreaksRenderer.DefaultSymbol,
                        SymbolConfigProvider = SymbolConfigProvider,
                        GeometryType         = GeometryType,
                    };
                    defaultSymbolConfigControl.DefaultSymbolModified += new EventHandler <SymbolSelectedEventArgs>(defaultSymbolConfigControl_DefaultSymbolModified);
                    ClassBreakConfigItems.Items.Add(defaultSymbolConfigControl);
                    ClassBreakConfigItems.SelectedItem = defaultSymbolConfigControl;

                    foreach (ClassBreakInfo classBreak in ClassBreaksRenderer.Classes)
                    {
                        ClassBreakConfigControl classBreakConfigControl = createNewClassBreakConfigControl(classBreak);
                        ClassBreakConfigItems.Items.Add(classBreakConfigControl);
                    }
                }
            }
        }
        private void bindList()
        {
            if (UniqueValueConfigItems != null)
            {
                if (UniqueValueRenderer != null)
                {
                    // Add the default symbol config control
                    DefaultSymbolConfigControl defaultSymbolConfigControl = new DefaultSymbolConfigControl()
                    {
                        Symbol = UniqueValueRenderer.DefaultSymbol,
                        SymbolConfigProvider = SymbolConfigProvider,
                        GeometryType         = GeometryType,
                    };
                    defaultSymbolConfigControl.DefaultSymbolModified += new EventHandler <SymbolSelectedEventArgs>(defaultSymbolConfigControl_DefaultSymbolModified);
                    UniqueValueConfigItems.Items.Add(defaultSymbolConfigControl);
                    UniqueValueConfigItems.SelectedItem = defaultSymbolConfigControl;

                    foreach (UniqueValueInfo uniqueValueInfo in UniqueValueRenderer.Infos)
                    {
                        UniqueValueConfigControl uniqueValueConfigControl = createNewUniqueValueConfigControl(uniqueValueInfo);
                        UniqueValueConfigItems.Items.Add(uniqueValueConfigControl);
                    }
                }
            }
        }
        void UniqueValueConfigItems_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (UniqueValueConfigItems == null)
            {
                return;
            }

            UniqueValueConfigControl configControl = UniqueValueConfigItems.SelectedItem as UniqueValueConfigControl;

            if (configControl != null)
            {
                OnCurrentUniqueValueChanged(new CurrentUniqueValueChangedEventArgs()
                {
                    UniqueValue = configControl.UniqueValue,
                });
                return;
            }
            else
            {
                DefaultSymbolConfigControl defaultConfigControl = UniqueValueConfigItems.SelectedItem as DefaultSymbolConfigControl;
                if (defaultConfigControl != null)
                {
                    OnDefaultClassBreakBeingConfigured(new DefaultClassBreakBeingConfiguredEventArgs()
                    {
                        DefaultSymbol = defaultConfigControl.Symbol,
                    });
                    return;
                }
            }
        }
        private void updateSymbolConfigControlIfCurrentSelectedSymbol()
        {
            if (SymbolConfigControl == null || RendererSymbolSetContainerControl == null)
            {
                return;
            }

            ClassBreaksRendererSymbolsConfigControl symbolsConfigControl = RendererSymbolSetContainerControl.Content as ClassBreaksRendererSymbolsConfigControl;

            if (symbolsConfigControl != null)
            {
                Control selectedControl = symbolsConfigControl.GetCurrentSelectedConfigControl();
                ClassBreakConfigControl classBreaksConfigControl = selectedControl as ClassBreakConfigControl;
                if (classBreaksConfigControl != null)
                {
                    if (classBreaksConfigControl.ClassBreak != null)
                    {
                        SymbolConfigControl.Symbol = classBreaksConfigControl.ClassBreak.Symbol;
                    }
                }
                else
                {
                    DefaultSymbolConfigControl defaultConfigControl = selectedControl as DefaultSymbolConfigControl;
                    if (defaultConfigControl != null)
                    {
                        SymbolConfigControl.Symbol = defaultConfigControl.Symbol;
                    }
                }
            }
            else
            {
                UniqueValueRendererSymbolsConfigControl uniqueValueRendererConfigControl = RendererSymbolSetContainerControl.Content as UniqueValueRendererSymbolsConfigControl;
                if (uniqueValueRendererConfigControl != null)
                {
                    Control selectedControl = uniqueValueRendererConfigControl.GetCurrentSelectedConfigControl();
                    UniqueValueConfigControl uniqueValueConfigControl = selectedControl as UniqueValueConfigControl;
                    if (uniqueValueConfigControl != null)
                    {
                        if (uniqueValueConfigControl.UniqueValue != null)
                        {
                            SymbolConfigControl.Symbol = uniqueValueConfigControl.UniqueValue.Symbol;
                        }
                    }
                    else
                    {
                        DefaultSymbolConfigControl defaultConfigControl = selectedControl as DefaultSymbolConfigControl;
                        if (defaultConfigControl != null)
                        {
                            SymbolConfigControl.Symbol = defaultConfigControl.Symbol;
                        }
                    }
                }
            }
        }
        void ClassBreakConfigItems_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (ClassBreakConfigItems == null)
            {
                return;
            }

            ClassBreakConfigControl configControl = ClassBreakConfigItems.SelectedItem as ClassBreakConfigControl;

            if (configControl != null)
            {
                OnCurrentClassBreakChanged(new CurrentClassBreakChangedEventArgs()
                {
                    ClassBreak = configControl.ClassBreak,
                });
                return;
            }
            else
            {
                DefaultSymbolConfigControl defaultConfigControl = ClassBreakConfigItems.SelectedItem as DefaultSymbolConfigControl;
                if (defaultConfigControl != null)
                {
                    OnDefaultClassBreakBeingConfigured(new DefaultClassBreakBeingConfiguredEventArgs()
                    {
                        DefaultSymbol = defaultConfigControl.Symbol,
                    });
                    return;
                }
            }

            if (ClassBreakConfigItems.Items != null)
            {
                foreach (Control control in ClassBreakConfigItems.Items)
                {
                    ClassBreakConfigControl classBreakConfigItemControl = control as ClassBreakConfigControl;
                    if (classBreakConfigItemControl != null)
                    {
                        classBreakConfigItemControl.StopEditMode();
                    }
                }
            }
        }
        private void bindUIToLayer()
        {
            GraphicsLayer graphicsLayer = Layer as GraphicsLayer;
            if (graphicsLayer == null)
                return;

            #region Renderer Takes Precedence
            bindingToLayer = true;
            if (GraphicSymbolsTakePrecedence != null)
                GraphicSymbolsTakePrecedence.IsChecked = !graphicsLayer.RendererTakesPrecedence;
            bindingToLayer = false;
            #endregion

            GeometryType = ESRI.ArcGIS.Mapping.Core.LayerExtensions.GetGeometryType(graphicsLayer);

            ClassBreaksRenderer classBreaksRenderer = graphicsLayer.Renderer as ClassBreaksRenderer;
            if (classBreaksRenderer != null)
            {
                if (RendererOptionsContainerControl != null)
                {
                    ClassBreaksRendererOptionsConfigControl optionsConfigControl = new ClassBreaksRendererOptionsConfigControl()
                    {
                        ClassBreaksRenderer = classBreaksRenderer,
                        SymbolConfigProvider = SymbolConfigProvider,
                        GeometryType = GeometryType,
                    };

                    Binding b = new Binding("Foreground") { Source = this };
                    optionsConfigControl.SetBinding(ClassBreaksRendererOptionsConfigControl.ForegroundProperty, b);

                    optionsConfigControl.RendererColorSchemeChanged += new EventHandler<GradientBrushChangedEventArgs>(optionsConfigControl_RendererColorSchemeChanged);
                    optionsConfigControl.RendererClassBreaksChanged += new EventHandler<RendererClassBreaksCountChangedEventArgs>(optionsConfigControl_RendererClassBreaksChanged);
                    RendererOptionsContainerControl.Content = optionsConfigControl;
                }

                if (RendererOptionsContainerBorder != null)
                    RendererOptionsContainerBorder.Visibility = Visibility.Visible;

                if (CurrentSymbolLabel != null)
                    CurrentSymbolLabel.Visibility = Visibility.Visible;

                createClassBreaksRendererSymbolsConfigControl(classBreaksRenderer);
            }
            else
            {
                UniqueValueRenderer uniqueValueRenderer = graphicsLayer.Renderer as UniqueValueRenderer;
                if (uniqueValueRenderer != null)
                {
                    if (RendererOptionsContainerControl != null)
                    {
                        UniqueValueRendererOptionsConfigControl optionsConfigControl = new UniqueValueRendererOptionsConfigControl()
                        {
                            UniqueValueRenderer = uniqueValueRenderer,
                            SymbolConfigProvider = SymbolConfigProvider,
                            GeometryType = GeometryType,
                        };

                        Binding b = new Binding("Foreground") { Source = this };
                        optionsConfigControl.SetBinding(UniqueValueRendererOptionsConfigControl.ForegroundProperty, b);

                        optionsConfigControl.RendererColorSchemeChanged += new EventHandler<GradientBrushChangedEventArgs>(optionsConfigControl_RendererColorSchemeChanged);
                        optionsConfigControl.NewUniqueValueAdded += new EventHandler<NewUniqueValueInfoEventArgs>(optionsConfigControl_NewUniqueValueCreated);
                        optionsConfigControl.DeleteUniqueValueClicked += new EventHandler(optionsConfigControl_DeleteUniqueValueClicked);
                        RendererOptionsContainerControl.Content = optionsConfigControl;
                    }

                    if (RendererSymbolSetContainerControl != null)
                    {
                        UniqueValueRendererSymbolsConfigControl symbolsConfigControl = new UniqueValueRendererSymbolsConfigControl()
                        {
                            UniqueValueRenderer = uniqueValueRenderer,
                            SymbolConfigProvider = SymbolConfigProvider,
                            GeometryType = GeometryType,
                        };

                        Binding b = new Binding("Foreground") { Source = this };
                        symbolsConfigControl.SetBinding(UniqueValueRendererSymbolsConfigControl.ForegroundProperty, b);

                        symbolsConfigControl.UniqueValueRendererModified += new EventHandler<SelectedUniqueValueModificationEventArgs>(symbolsConfigControl_UniqueValueRendererModified);
                        symbolsConfigControl.CurrentUniqueValueChanged += new EventHandler<CurrentUniqueValueChangedEventArgs>(symbolsConfigControl_CurrentUniqueValueChanged);
                        symbolsConfigControl.DefaultClassBreakBeingConfigured += new EventHandler<DefaultClassBreakBeingConfiguredEventArgs>(symbolsConfigControl_DefaultClassBreakBeingConfigured);
                        RendererSymbolSetContainerControl.Content = symbolsConfigControl;
                    }

                    if (RendererOptionsContainerBorder != null)
                        RendererOptionsContainerBorder.Visibility = Visibility.Visible;

                    if (CurrentSymbolLabel != null)
                        CurrentSymbolLabel.Visibility = Visibility.Visible;
                }
                else
                {
                    // No renderer / simple renderer ... clear out the control
                    if (RendererOptionsContainerControl != null)
                        RendererOptionsContainerControl.Content = null;

                    if (RendererSymbolSetContainerControl != null)
                    {
                        ESRI.ArcGIS.Client.Symbols.Symbol defaultSymbol = graphicsLayer.GetDefaultSymbol();
                        DefaultSymbolConfigControl defaultSymbolConfig = new DefaultSymbolConfigControl() { 
                             Symbol = defaultSymbol,
                             SymbolConfigProvider = SymbolConfigProvider,
                             GeometryType = GeometryType,
                        };

                        Binding b = new Binding("Foreground") { Source = this };
                        defaultSymbolConfig.SetBinding(DefaultSymbolConfigControl.ForegroundProperty, b);

                        defaultSymbolConfig.DefaultSymbolModified += new EventHandler<SymbolSelectedEventArgs>(defaultSymbolConfig_DefaultSymbolModified);
                        RendererSymbolSetContainerControl.Content = defaultSymbolConfig;
                        if (SymbolConfigControl != null)
                            SymbolConfigControl.Symbol = defaultSymbol;
                    }

                    if (CurrentSymbolLabel != null)
                        CurrentSymbolLabel.Visibility = Visibility.Collapsed;

                    if (RendererOptionsContainerBorder != null)
                        RendererOptionsContainerBorder.Visibility = Visibility.Collapsed;
                }
            }
        }
Example #7
0
        void ClassBreakConfigItems_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (ClassBreakConfigItems == null)
            {
                return;
            }

            // Enable disable previous/next buttons appropriately
            if (PreviousRangeButton != null)
            {
                PreviousRangeButton.IsEnabled = ClassBreakConfigItems.SelectedIndex > 0;
            }
            if (NextRangeButton != null)
            {
                // remember .. the first item in the list is the default symbol
                if (ClassBreaksRenderer != null)
                {
                    NextRangeButton.IsEnabled = ClassBreakConfigItems.SelectedIndex < ClassBreaksRenderer.Classes.Count;
                }
            }

            ClassBreakConfigControl classBreakConfigControl = ClassBreakConfigItems.SelectedItem as ClassBreakConfigControl;

            if (classBreakConfigControl != null)
            {
                if (DeleteRangeButton != null)
                {
                    DeleteRangeButton.IsEnabled = true;
                }

                if (classBreakConfigControl.ClassBreak == null)
                {
                    return;
                }

                if (SymbolConfigControl != null && classBreakConfigControl.ClassBreak != null)
                {
                    SymbolConfigControl.Symbol = classBreakConfigControl.ClassBreak.Symbol;
                }

                if (MinTextBox != null)
                {
                    MinTextBox.IsEnabled    = true;
                    MinTextBox.TextChanged -= MinTextBox_TextChanged;
                    MinTextBox.Text         = classBreakConfigControl.ClassBreak.MinimumValue.ToString();
                    MinTextBox.TextChanged += MinTextBox_TextChanged;
                }

                if (MaxTextBox != null)
                {
                    MaxTextBox.IsEnabled    = true;
                    MaxTextBox.TextChanged -= MaxTextBox_TextChanged;
                    MaxTextBox.Text         = classBreakConfigControl.ClassBreak.MaximumValue.ToString();
                    MaxTextBox.TextChanged += MaxTextBox_TextChanged;
                }
            }
            else
            {
                DefaultSymbolConfigControl defaultSymbolConfigControl = ClassBreakConfigItems.SelectedItem as DefaultSymbolConfigControl;
                if (defaultSymbolConfigControl != null)
                {
                    if (SymbolConfigControl != null)
                    {
                        SymbolConfigControl.Symbol = defaultSymbolConfigControl.Symbol;
                    }

                    if (DeleteRangeButton != null)
                    {
                        DeleteRangeButton.IsEnabled = false;
                    }

                    if (MinTextBox != null)
                    {
                        MinTextBox.IsEnabled    = false;
                        MinTextBox.TextChanged -= MinTextBox_TextChanged;
                        MinTextBox.Text         = "";
                        MinTextBox.TextChanged += MinTextBox_TextChanged;
                    }

                    if (MaxTextBox != null)
                    {
                        MaxTextBox.IsEnabled    = false;
                        MaxTextBox.TextChanged -= MaxTextBox_TextChanged;
                        MaxTextBox.Text         = "";
                        MaxTextBox.TextChanged += MaxTextBox_TextChanged;
                    }
                }
            }
        }
        void UniqueValueConfigItems_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (UniqueValueConfigItems == null)
            {
                return;
            }

            if (PreviousUniqueValueButton != null)
            {
                PreviousUniqueValueButton.IsEnabled = UniqueValueConfigItems.SelectedIndex > 0;
            }

            if (NextUniqueValueButton != null)
            {
                // remember .. the first item in the list is the default symbol
                if (UniqueValueRenderer != null)
                {
                    NextUniqueValueButton.IsEnabled = UniqueValueConfigItems.SelectedIndex < UniqueValueRenderer.Infos.Count;
                }
            }

            UniqueValueConfigControl uniqueValueConfigControl = UniqueValueConfigItems.SelectedItem as UniqueValueConfigControl;

            if (uniqueValueConfigControl != null)
            {
                if (uniqueValueConfigControl.UniqueValue == null)
                {
                    return;
                }

                if (DeleteUniqueValueButton != null)
                {
                    DeleteUniqueValueButton.IsEnabled = true;
                }

                if (SymbolConfigControl != null && uniqueValueConfigControl.UniqueValue != null)
                {
                    SymbolConfigControl.Symbol = uniqueValueConfigControl.UniqueValue.Symbol;
                }

                if (ValueTextBox != null)
                {
                    ValueTextBox.IsEnabled = true;
                    if (uniqueValueConfigControl.UniqueValue.Value != null)
                    {
                        ValueTextBox.TextChanged -= ValueTextBox_TextChanged;
                        ValueTextBox.Text         = uniqueValueConfigControl.UniqueValue.Value.ToString();
                        ValueTextBox.TextChanged += ValueTextBox_TextChanged;
                    }
                }
            }
            else
            {
                DefaultSymbolConfigControl defaultSymbolConfigControl = UniqueValueConfigItems.SelectedItem as DefaultSymbolConfigControl;
                if (defaultSymbolConfigControl != null)
                {
                    if (SymbolConfigControl != null)
                    {
                        SymbolConfigControl.Symbol = defaultSymbolConfigControl.Symbol;
                    }

                    if (DeleteUniqueValueButton != null)
                    {
                        DeleteUniqueValueButton.IsEnabled = false;
                    }

                    if (ValueTextBox != null)
                    {
                        ValueTextBox.IsEnabled    = false;
                        ValueTextBox.TextChanged -= ValueTextBox_TextChanged;
                        ValueTextBox.Text         = "";
                        ValueTextBox.TextChanged += ValueTextBox_TextChanged;
                    }
                }
            }
        }
        private void bindList()
        {
            if (ClassBreakConfigItems != null)
            {
                if (ClassBreaksRenderer != null)
                {
                    // Add the default symbol config control
                    DefaultSymbolConfigControl defaultSymbolConfigControl = new DefaultSymbolConfigControl() { 
                         Symbol = ClassBreaksRenderer.DefaultSymbol,
                         SymbolConfigProvider = SymbolConfigProvider,
                         GeometryType = GeometryType,
                    };
                    defaultSymbolConfigControl.DefaultSymbolModified += new EventHandler<SymbolSelectedEventArgs>(defaultSymbolConfigControl_DefaultSymbolModified);
                    ClassBreakConfigItems.Items.Add(defaultSymbolConfigControl);
                    ClassBreakConfigItems.SelectedItem = defaultSymbolConfigControl;

                    foreach (ClassBreakInfo classBreak in ClassBreaksRenderer.Classes)
                    {
                        ClassBreakConfigControl classBreakConfigControl = createNewClassBreakConfigControl(classBreak);
                        ClassBreakConfigItems.Items.Add(classBreakConfigControl);                        
                    }                    
                }
            }
        }
        private void bindList()
        {
            if (UniqueValueConfigItems != null)
            {
                if (UniqueValueRenderer != null)
                {
                    // Add the default symbol config control
                    DefaultSymbolConfigControl defaultSymbolConfigControl = new DefaultSymbolConfigControl()
                    {
                        Symbol = UniqueValueRenderer.DefaultSymbol,
                        SymbolConfigProvider = SymbolConfigProvider,
                        GeometryType = GeometryType,
                    };
                    defaultSymbolConfigControl.DefaultSymbolModified += new EventHandler<SymbolSelectedEventArgs>(defaultSymbolConfigControl_DefaultSymbolModified);
                    UniqueValueConfigItems.Items.Add(defaultSymbolConfigControl);
                    UniqueValueConfigItems.SelectedItem = defaultSymbolConfigControl;

                    foreach (UniqueValueInfo uniqueValueInfo in UniqueValueRenderer.Infos)
                    {
                        UniqueValueConfigControl uniqueValueConfigControl = createNewUniqueValueConfigControl(uniqueValueInfo);
                        UniqueValueConfigItems.Items.Add(uniqueValueConfigControl);
                    }
                }
            }
        }
        private void bindUIToLayer()
        {
            GraphicsLayer graphicsLayer = Layer as GraphicsLayer;

            if (graphicsLayer == null)
            {
                return;
            }

            #region Renderer Takes Precedence
            bindingToLayer = true;
            if (GraphicSymbolsTakePrecedence != null)
            {
                GraphicSymbolsTakePrecedence.IsChecked = !graphicsLayer.RendererTakesPrecedence;
            }
            bindingToLayer = false;
            #endregion

            GeometryType = ESRI.ArcGIS.Mapping.Core.LayerExtensions.GetGeometryType(graphicsLayer);

            ClassBreaksRenderer classBreaksRenderer = graphicsLayer.Renderer as ClassBreaksRenderer;
            if (classBreaksRenderer != null)
            {
                if (RendererOptionsContainerControl != null)
                {
                    ClassBreaksRendererOptionsConfigControl optionsConfigControl = new ClassBreaksRendererOptionsConfigControl()
                    {
                        ClassBreaksRenderer  = classBreaksRenderer,
                        SymbolConfigProvider = SymbolConfigProvider,
                        GeometryType         = GeometryType,
                    };

                    Binding b = new Binding("Foreground")
                    {
                        Source = this
                    };
                    optionsConfigControl.SetBinding(ClassBreaksRendererOptionsConfigControl.ForegroundProperty, b);

                    optionsConfigControl.RendererColorSchemeChanged += new EventHandler <GradientBrushChangedEventArgs>(optionsConfigControl_RendererColorSchemeChanged);
                    optionsConfigControl.RendererClassBreaksChanged += new EventHandler <RendererClassBreaksCountChangedEventArgs>(optionsConfigControl_RendererClassBreaksChanged);
                    RendererOptionsContainerControl.Content          = optionsConfigControl;
                }

                if (RendererOptionsContainerBorder != null)
                {
                    RendererOptionsContainerBorder.Visibility = Visibility.Visible;
                }

                if (CurrentSymbolLabel != null)
                {
                    CurrentSymbolLabel.Visibility = Visibility.Visible;
                }

                createClassBreaksRendererSymbolsConfigControl(classBreaksRenderer);
            }
            else
            {
                UniqueValueRenderer uniqueValueRenderer = graphicsLayer.Renderer as UniqueValueRenderer;
                if (uniqueValueRenderer != null)
                {
                    if (RendererOptionsContainerControl != null)
                    {
                        UniqueValueRendererOptionsConfigControl optionsConfigControl = new UniqueValueRendererOptionsConfigControl()
                        {
                            UniqueValueRenderer  = uniqueValueRenderer,
                            SymbolConfigProvider = SymbolConfigProvider,
                            GeometryType         = GeometryType,
                        };

                        Binding b = new Binding("Foreground")
                        {
                            Source = this
                        };
                        optionsConfigControl.SetBinding(UniqueValueRendererOptionsConfigControl.ForegroundProperty, b);

                        optionsConfigControl.RendererColorSchemeChanged += new EventHandler <GradientBrushChangedEventArgs>(optionsConfigControl_RendererColorSchemeChanged);
                        optionsConfigControl.NewUniqueValueAdded        += new EventHandler <NewUniqueValueInfoEventArgs>(optionsConfigControl_NewUniqueValueCreated);
                        optionsConfigControl.DeleteUniqueValueClicked   += new EventHandler(optionsConfigControl_DeleteUniqueValueClicked);
                        RendererOptionsContainerControl.Content          = optionsConfigControl;
                    }

                    if (RendererSymbolSetContainerControl != null)
                    {
                        UniqueValueRendererSymbolsConfigControl symbolsConfigControl = new UniqueValueRendererSymbolsConfigControl()
                        {
                            UniqueValueRenderer  = uniqueValueRenderer,
                            SymbolConfigProvider = SymbolConfigProvider,
                            GeometryType         = GeometryType,
                        };

                        Binding b = new Binding("Foreground")
                        {
                            Source = this
                        };
                        symbolsConfigControl.SetBinding(UniqueValueRendererSymbolsConfigControl.ForegroundProperty, b);

                        symbolsConfigControl.UniqueValueRendererModified      += new EventHandler <SelectedUniqueValueModificationEventArgs>(symbolsConfigControl_UniqueValueRendererModified);
                        symbolsConfigControl.CurrentUniqueValueChanged        += new EventHandler <CurrentUniqueValueChangedEventArgs>(symbolsConfigControl_CurrentUniqueValueChanged);
                        symbolsConfigControl.DefaultClassBreakBeingConfigured += new EventHandler <DefaultClassBreakBeingConfiguredEventArgs>(symbolsConfigControl_DefaultClassBreakBeingConfigured);
                        RendererSymbolSetContainerControl.Content              = symbolsConfigControl;
                    }

                    if (RendererOptionsContainerBorder != null)
                    {
                        RendererOptionsContainerBorder.Visibility = Visibility.Visible;
                    }

                    if (CurrentSymbolLabel != null)
                    {
                        CurrentSymbolLabel.Visibility = Visibility.Visible;
                    }
                }
                else
                {
                    // No renderer / simple renderer ... clear out the control
                    if (RendererOptionsContainerControl != null)
                    {
                        RendererOptionsContainerControl.Content = null;
                    }

                    if (RendererSymbolSetContainerControl != null)
                    {
                        ESRI.ArcGIS.Client.Symbols.Symbol defaultSymbol       = graphicsLayer.GetDefaultSymbol();
                        DefaultSymbolConfigControl        defaultSymbolConfig = new DefaultSymbolConfigControl()
                        {
                            Symbol = defaultSymbol,
                            SymbolConfigProvider = SymbolConfigProvider,
                            GeometryType         = GeometryType,
                        };

                        Binding b = new Binding("Foreground")
                        {
                            Source = this
                        };
                        defaultSymbolConfig.SetBinding(DefaultSymbolConfigControl.ForegroundProperty, b);

                        defaultSymbolConfig.DefaultSymbolModified += new EventHandler <SymbolSelectedEventArgs>(defaultSymbolConfig_DefaultSymbolModified);
                        RendererSymbolSetContainerControl.Content  = defaultSymbolConfig;
                        if (SymbolConfigControl != null)
                        {
                            SymbolConfigControl.Symbol = defaultSymbol;
                        }
                    }

                    if (CurrentSymbolLabel != null)
                    {
                        CurrentSymbolLabel.Visibility = Visibility.Collapsed;
                    }

                    if (RendererOptionsContainerBorder != null)
                    {
                        RendererOptionsContainerBorder.Visibility = Visibility.Collapsed;
                    }
                }
            }
        }