/// <summary>
        /// Subentries are updated. Returns true, if at least one entry is added or removed.
        /// </summary>
        public bool IterateElements()
        {
            string newNodeHash      = ParameterDict.Current.GetHashOfName(_category);
            string newNodeValueHash = ParameterDict.Current.GetHash(_category);

            if (newNodeHash != _nodeHash)
            { // At least one entry is added or deleted, so everything must new created
                Create(_category);
                return(true);
            }
            if (newNodeValueHash != _nodeValueHash)
            { // At least one value has changed, so each subcontrol has to update itself
                foreach (UserControl subControl in Controls)
                {
                    if (subControl is DataViewElement)
                    {
                        DataViewElement dataView = (DataViewElement)subControl;
                        dataView.UpdateElements();
                    }
                }
                _nodeValueHash = ParameterDict.Current.GetHash(_category);
                return(false);
            }
            // If nothing has changed, nothing has to update.
            return(false);
        }
 public void UpdateElements()
 {
     foreach (UserControl subControl in Controls)
     {
         if (subControl is DataViewElement)
         {
             DataViewElement dataView = (DataViewElement)subControl;
             dataView.UpdateElements();
         }
     }
 }