Esempio n. 1
0
        /// <summary>
        /// Removes an element from the registry.
        /// </summary>
        /// <param name="element">The element to remove from the registry.</param>
        public void UnregisterElement(FrameworkElement element)
        {
            if (String.IsNullOrEmpty(element.Name))
                return;

            FrameworkElement existing;
            if (elementsByName.TryGetValue(element.Name, out existing))
            {
                if (existing != element)
                    return;
            }
            elementsByName.Remove(element.Name);
        }
Esempio n. 2
0
        /// <summary>
        /// Adds an element to the registry.
        /// </summary>
        /// <param name="element">The element to add to the registry.</param>
        public void RegisterElement(FrameworkElement element)
        {
            if (String.IsNullOrEmpty(element.Name))
                return;

            FrameworkElement existing;
            if (elementsByName.TryGetValue(element.Name, out existing))
            {
                if (existing == element)
                {
                    return;
                }
                throw new InvalidOperationException(PresentationStrings.ElementWithNameAlreadyExists.Format(element.Name));
            }
            elementsByName[element.Name] = element;
        }