public void Clear() { ResourcesChangedEventArgs e = ResourcesChangedEventArgs.FromKeyCollection(dictionary.Keys.ToArray()); dictionary.Clear(); ResourcesChanged.Raise(this, e); }
private void OnMergedDictionariesCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { foreach (ResourceDictionary dictionary in e.OldItems) { dictionary.ResourcesChanged -= OnMergeDictionaryResourcesChanged; } foreach (ResourceDictionary dictionary in e.NewItems) { dictionary.ResourcesChanged += OnMergeDictionaryResourcesChanged; } if (e.Action != NotifyCollectionChangedAction.Move) { IEnumerable <object> keys = e.OldItems.Concat(e.NewItems).Cast <ResourceDictionary>().SelectMany(GetMergedDictionariesKeys); ResourcesChanged.Raise(this, ResourcesChangedEventArgs.FromKeyCollection(keys)); } }