internal static PropertyItemCollection GetAlphabetizedProperties(List <PropertyItem> propertyItems)
        {
            PropertyItemCollection propertyCollection = new PropertyItemCollection(propertyItems);

            propertyCollection.SortBy("DisplayName", ListSortDirection.Ascending);
            return(propertyCollection);
        }
 public ObjectContainerHelperBase(IPropertyContainer propertyContainer)
     : base(propertyContainer)
 {
     _propertyItemCollection = new PropertyItemCollection(new ObservableCollection <PropertyItem>());
     UpdateFilter();
     UpdateCategorization(false);
 }
        private void UpdateFilter()
        {
            FilterInfo filterInfo = this.PropertyContainer.FilterInfo;

            this.PropertyItems.FilterPredicate = filterInfo.Predicate
                                                 ?? PropertyItemCollection.CreateFilter(filterInfo.InputString, this.PropertyItems, this.PropertyContainer);
        }
Beispiel #4
0
        protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
        {
            base.OnPropertyChanged(e);

            if (PropertyItemCollection.IsItemOrderingProperty(e.Property.Name))
            {
                this.RaiseItemOrderingChangedEvent();
            }
        }
Beispiel #5
0
        public PropertyGrid()
        {
            _properties         = new PropertyItemCollection(new ObservableCollection <PropertyItem>());
            EditorDefinitions   = new EditorDefinitionCollection();
            PropertyDefinitions = new PropertyDefinitionCollection();

            AddHandler(PropertyItem.ItemSelectionChangedEvent, new RoutedEventHandler(OnItemSelectionChanged));
            AddHandler(PropertyItem.ItemOrderingChangedEvent, new RoutedEventHandler(OnItemOrderingChanged));
            CommandBindings.Add(new CommandBinding(PropertyGridCommands.ClearFilter, ClearFilter, CanClearFilter));
        }
Beispiel #6
0
        internal static PropertyItemCollection GetCategorizedProperties(List <PropertyItem> propertyItems)
        {
            PropertyItemCollection propertyCollection = new PropertyItemCollection(propertyItems);

            propertyCollection.GroupBy("Category");
            propertyCollection.SortBy("Category", ListSortDirection.Ascending);
            propertyCollection.SortBy("PropertyOrder", ListSortDirection.Ascending);
            propertyCollection.SortBy("DisplayName", ListSortDirection.Ascending);
            return(propertyCollection);
        }
 private void UpdateCategorization(bool updateSubPropertiesCategorization)
 {
     _propertyItemCollection.UpdateCategorization(this.ComputeCategoryGroupDescription(), this.PropertyContainer.IsCategorized, this.PropertyContainer.IsSortedAlphabetically);
     if (updateSubPropertiesCategorization && (_propertyItemCollection.Count > 0))
     {
         foreach (PropertyItem propertyItem in _propertyItemCollection)
         {
             PropertyItemCollection subPropertyItemsCollection = propertyItem.Properties as PropertyItemCollection;
             if (subPropertyItemsCollection != null)
             {
                 subPropertyItemsCollection.UpdateCategorization(this.ComputeCategoryGroupDescription(), this.PropertyContainer.IsCategorized, this.PropertyContainer.IsSortedAlphabetically);
             }
         }
     }
 }
Beispiel #8
0
        public void Filter(string text)
        {
            Predicate <object> filter = PropertyItemCollection.CreateFilter(text);

            GetDefaultView().Filter = filter;
        }
Beispiel #9
0
 internal PropertyItem()
 {
     Properties = new PropertyItemCollection(new ObservableCollection <PropertyItem>());
     AddHandler(Mouse.PreviewMouseDownEvent, new MouseButtonEventHandler(PropertyItem_PreviewMouseDown), true);
     AddHandler(PropertyItem.ItemOrderingChangedEvent, new RoutedEventHandler(OnItemOrderingChanged), false);
 }