ArcGISWindowsPhoneSDK.EditingCodedValueDomains.FeatureLayer_Initialized C# (CSharp) Method

FeatureLayer_Initialized() private method

private FeatureLayer_Initialized ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private void FeatureLayer_Initialized(object sender, EventArgs e)
        {
            FeatureLayer fl = sender as FeatureLayer;

            #region populate the FeatureTypeListBox with the possible templates
            FeatureTypeListBox.Items.Clear();
            IDictionary<object, FeatureType> featureTypes = fl.LayerInfo.FeatureTypes;
            if (fl.Renderer != null)
            {
                Symbol defaultSymbol = fl.Renderer.GetSymbol(null);
                if (featureTypes != null && featureTypes.Count > 0)
                {
                    foreach (KeyValuePair<object, FeatureType> featureTypePairs in featureTypes)
                    {
                        if (featureTypePairs.Value != null && featureTypePairs.Value.Templates != null && featureTypePairs.Value.Templates.Count > 0)
                        {
                            foreach (KeyValuePair<string, FeatureTemplate> featureTemplate in featureTypePairs.Value.Templates)
                            {
                                string name = featureTypePairs.Value.Name;
                                if (featureTypePairs.Value.Templates.Count > 1)
                                    name = string.Format("{0}-{1}", featureTypePairs.Value.Name, featureTemplate.Value.Name);
                                Symbol symbol = featureTemplate.Value.GetSymbol(fl.Renderer) ?? defaultSymbol;

                                FeatureTypeListBox.Items.Add(new CVDTemplateItem(name, symbol, Convert.ToInt32(featureTypePairs.Value.Id)));
                            }
                        }
                    }
                }
            }
            #endregion

            #region get coded value codes and descriptions
            var facilityField = fl.LayerInfo.Fields.Where(f => f.Name == "facility").First();
            facilityFieldDomain = facilityField.Domain as CodedValueDomain;
            FacilityChoicesListBox.ItemsSource = facilityFieldDomain.CodedValues;

            var qualityField = fl.LayerInfo.Fields.Where(f => f.Name == "quality").First();
            qualityFieldDomain = qualityField.Domain as CodedValueDomain;
            QualityChoicesListBox.ItemsSource = qualityFieldDomain.CodedValues;
            #endregion

            //enable the app bar and context menu items
            for (int i = 0; i < ApplicationBar.Buttons.Count; ++i)
                (ApplicationBar.Buttons[i] as IApplicationBarIconButton).IsEnabled = true;
        }