Esempio n. 1
0
        private void OnFilterLoaded(object sender, RoutedEventArgs e)
        {
            _control = (FilterControl)sender;

            int objectsCount = 0;
            Dictionary <UserTag, int> existsTags = new Dictionary <UserTag, int>();

            foreach (IUserTagsHandler obj in _taggedObjects)
            {
                foreach (UserTag tag in obj.Tags)
                {
                    int count;
                    existsTags.TryGetValue(tag, out count);
                    existsTags[tag] = count + 1;
                }
                objectsCount++;
            }

            _control.AvalibleTags = _avalibleTags;
            _control.SetCheckedTags(existsTags.SelectWhere(p => p.Value == objectsCount, p => p.Key));
            _control.SetUncheckedTags(_avalibleTags.Where(t => !existsTags.ContainsKey(t)));
            _control.IsShownTags = true;
        }