Пример #1
0
        public void Clear()
        {
            ResourcesChangedEventArgs e = ResourcesChangedEventArgs.FromKeyCollection(dictionary.Keys.ToArray());

            dictionary.Clear();
            ResourcesChanged.Raise(this, e);
        }
Пример #2
0
        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));
            }
        }