private void OnPlaceholderPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            var propertyPlaceholder = sender as NewDataGridPropertyPlaceholder;

            if (propertyPlaceholder == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(propertyPlaceholder.Name.Trim()))
            {
                return;
            }

            if (propertyPlaceholder.IsNew && MetadataCollection.ContainsKey(propertyPlaceholder.Name))
            {
                throw new Exception("Duplicate Name Inserted");
            }


            if (MetadataUpdating != null)
            {
                MetadataUpdating(this, null);
            }
            var chain = new TransactionChain();

            chain.TransactionCompleted += OnTransactionCompleted;
            string propertyValue = "";

            if (!string.IsNullOrEmpty(propertyPlaceholder.Value))
            {
                propertyValue = propertyPlaceholder.Value;
            }

            var multipleNodeMetadata = MetadataCollection["Name"] as MultipleNodeMetadata;

            if (multipleNodeMetadata != null)
            {
                foreach (var node in multipleNodeMetadata.NodeContainer.NodeProperties)
                {
                    node.Metadata.Add(propertyPlaceholder.Name, propertyValue, ref chain);
                }
            }
            else
            {
                propertyPlaceholder.MetadataSet = MetadataCollection.Add(propertyPlaceholder.Name, propertyValue, ref chain);
            }

            MapManager.ExecuteTransaction(chain);

            if (propertyPlaceholder.IsNew)
            {
                propertyPlaceholder.IsNew = false;

                AddNewLine();
            }
        }
        private void InitialiseAugementedCollection(MetadataCollection metadataCollection)
        {
            foreach (var metadata in metadataCollection.Values)
            {
                if (metadata.Name != "Description")
                {
                    AugmentedCollection.Add(metadata);
                }
            }

            AddNewLine();
        }
        private void InitialiseAugementedCollection(MetadataCollection metadataCollection)
        {
            foreach (var metadata in metadataCollection.Values)
            {
                if (metadata.Name != "Description")
                {
                    AugmentedCollection.Add(metadata);
                }
            }

            AddNewLine();
        }
        public DataGridPropertyCollection1(MetadataCollection metadataCollection)
        {
            MetadataCollection = metadataCollection;

            InitialiseAugementedCollection(MetadataCollection);
        }
        public DataGridPropertyCollection1(MetadataCollection metadataCollection)
        {
            MetadataCollection = metadataCollection;

            InitialiseAugementedCollection(MetadataCollection);
        }