/// <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); }
/// <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; }